From 4097dc2e28e231e2806c313bc5f98b88726f71dc Mon Sep 17 00:00:00 2001 From: Aidan Noll Date: Wed, 2 Aug 2023 12:24:20 +0200 Subject: [PATCH 1/8] downloader: Fix issues with error codes with LibreSSL on Windows Closes #1503 Co-authored-by: rdb --- panda/src/downloader/bioPtr.cxx | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/panda/src/downloader/bioPtr.cxx b/panda/src/downloader/bioPtr.cxx index 56a288987b..7c8647e0e6 100644 --- a/panda/src/downloader/bioPtr.cxx +++ b/panda/src/downloader/bioPtr.cxx @@ -56,6 +56,33 @@ static string format_error() { #define format_error() strerror(errno) #endif +#if defined(_WIN32) && defined(LIBRESSL_VERSION_NUMBER) +/** +* This exists to work around an issue with LibreSSL's version of +* BIO_sock_should_retry, which does not understand Windows error codes. +* The implementation here matches the behaviour of OpenSSL on Windows. +*/ +static int +sock_should_retry(int i) { + if (i == 0 || i == -1) { + int err = WSAGetLastError(); + + switch (err) { + case WSAEWOULDBLOCK: + case ENOTCONN: + case EINPROGRESS: + case EALREADY: + return 1; + default: + break; + } + } + return 0; +} +#else +#define sock_should_retry(err) BIO_sock_should_retry(err) +#endif + /** * This flavor of the constructor automatically creates a socket BIO and feeds * it the server and port name from the indicated URL. It doesn't call @@ -201,8 +228,7 @@ connect() { result = BIO_sock_error(fd); } else { result = ::connect(fd, (sockaddr *)&_addr, _addrlen); - - if (result != 0 && BIO_sock_should_retry(-1)) { + if (result != 0 && sock_should_retry(-1)) { // It's still in progress; we should retry later. This causes // should_retry() to return true. BIO_set_flags(_bio, BIO_FLAGS_SHOULD_RETRY); From 8cbf93162a46f6022576b3c9239cdc8395a18a61 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 2 Aug 2023 12:40:37 +0200 Subject: [PATCH 2/8] cppparser: Backport enum scope fix to 1.10 From bc039a0476b31fa624ce548629b7e05cccd2d570 --- dtool/src/cppparser/cppBison.cxx.prebuilt | 6264 +++++++++++---------- dtool/src/cppparser/cppBison.yxx | 11 +- 2 files changed, 3148 insertions(+), 3127 deletions(-) diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index 99372f6ed6..2acccd79f3 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -548,39 +548,40 @@ enum yysymbol_kind_t YYSYMBOL_class_derivation = 247, /* class_derivation */ YYSYMBOL_base_specification = 248, /* base_specification */ YYSYMBOL_enum = 249, /* enum */ - YYSYMBOL_enum_decl = 250, /* enum_decl */ - YYSYMBOL_enum_element_type = 251, /* enum_element_type */ - YYSYMBOL_enum_body_trailing_comma = 252, /* enum_body_trailing_comma */ - YYSYMBOL_enum_body = 253, /* enum_body */ - YYSYMBOL_enum_keyword = 254, /* enum_keyword */ - YYSYMBOL_struct_keyword = 255, /* struct_keyword */ - YYSYMBOL_namespace_declaration = 256, /* namespace_declaration */ - YYSYMBOL_257_18 = 257, /* $@18 */ + YYSYMBOL_250_18 = 250, /* $@18 */ + YYSYMBOL_enum_decl = 251, /* enum_decl */ + YYSYMBOL_enum_element_type = 252, /* enum_element_type */ + YYSYMBOL_enum_body_trailing_comma = 253, /* enum_body_trailing_comma */ + YYSYMBOL_enum_body = 254, /* enum_body */ + YYSYMBOL_enum_keyword = 255, /* enum_keyword */ + YYSYMBOL_struct_keyword = 256, /* struct_keyword */ + YYSYMBOL_namespace_declaration = 257, /* namespace_declaration */ YYSYMBOL_258_19 = 258, /* $@19 */ - YYSYMBOL_using_declaration = 259, /* using_declaration */ - YYSYMBOL_simple_type = 260, /* simple_type */ - YYSYMBOL_simple_int_type = 261, /* simple_int_type */ - YYSYMBOL_simple_float_type = 262, /* simple_float_type */ - YYSYMBOL_simple_void_type = 263, /* simple_void_type */ - YYSYMBOL_code = 264, /* code */ - YYSYMBOL_265_20 = 265, /* $@20 */ - YYSYMBOL_code_block = 266, /* code_block */ - YYSYMBOL_element = 267, /* element */ - YYSYMBOL_optional_const_expr = 268, /* optional_const_expr */ - YYSYMBOL_optional_const_expr_comma = 269, /* optional_const_expr_comma */ - YYSYMBOL_const_expr_comma = 270, /* const_expr_comma */ - YYSYMBOL_no_angle_bracket_const_expr = 271, /* no_angle_bracket_const_expr */ - YYSYMBOL_const_expr = 272, /* const_expr */ - YYSYMBOL_const_operand = 273, /* const_operand */ - YYSYMBOL_formal_const_expr = 274, /* formal_const_expr */ - YYSYMBOL_formal_const_operand = 275, /* formal_const_operand */ - YYSYMBOL_capture_list = 276, /* capture_list */ - YYSYMBOL_capture = 277, /* capture */ - YYSYMBOL_class_derivation_name = 278, /* class_derivation_name */ - YYSYMBOL_name = 279, /* name */ - YYSYMBOL_name_no_final = 280, /* name_no_final */ - YYSYMBOL_string_literal = 281, /* string_literal */ - YYSYMBOL_empty = 282 /* empty */ + YYSYMBOL_259_20 = 259, /* $@20 */ + YYSYMBOL_using_declaration = 260, /* using_declaration */ + YYSYMBOL_simple_type = 261, /* simple_type */ + YYSYMBOL_simple_int_type = 262, /* simple_int_type */ + YYSYMBOL_simple_float_type = 263, /* simple_float_type */ + YYSYMBOL_simple_void_type = 264, /* simple_void_type */ + YYSYMBOL_code = 265, /* code */ + YYSYMBOL_266_21 = 266, /* $@21 */ + YYSYMBOL_code_block = 267, /* code_block */ + YYSYMBOL_element = 268, /* element */ + YYSYMBOL_optional_const_expr = 269, /* optional_const_expr */ + YYSYMBOL_optional_const_expr_comma = 270, /* optional_const_expr_comma */ + YYSYMBOL_const_expr_comma = 271, /* const_expr_comma */ + YYSYMBOL_no_angle_bracket_const_expr = 272, /* no_angle_bracket_const_expr */ + YYSYMBOL_const_expr = 273, /* const_expr */ + YYSYMBOL_const_operand = 274, /* const_operand */ + YYSYMBOL_formal_const_expr = 275, /* formal_const_expr */ + YYSYMBOL_formal_const_operand = 276, /* formal_const_operand */ + YYSYMBOL_capture_list = 277, /* capture_list */ + YYSYMBOL_capture = 278, /* capture */ + YYSYMBOL_class_derivation_name = 279, /* class_derivation_name */ + YYSYMBOL_name = 280, /* name */ + YYSYMBOL_name_no_final = 281, /* name_no_final */ + YYSYMBOL_string_literal = 282, /* string_literal */ + YYSYMBOL_empty = 283 /* empty */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -911,16 +912,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 104 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7707 +#define YYLAST 7671 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 171 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 112 +#define YYNNTS 113 /* YYNRULES -- Number of rules. */ -#define YYNRULES 769 +#define YYNRULES 770 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1632 +#define YYNSTATES 1633 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 401 @@ -1020,47 +1021,48 @@ static const yytype_int16 yyrline[] = 2674, 2682, 2686, 2702, 2718, 2727, 2737, 2744, 2748, 2756, 2760, 2765, 2769, 2777, 2778, 2779, 2780, 2785, 2784, 2809, 2808, 2838, 2839, 2846, 2847, 2851, 2852, 2856, 2860, 2864, - 2868, 2872, 2876, 2880, 2884, 2888, 2892, 2899, 2907, 2911, - 2915, 2920, 2928, 2932, 2939, 2940, 2945, 2952, 2953, 2958, - 2966, 2970, 2974, 2981, 2985, 2989, 2997, 2996, 3019, 3018, - 3041, 3042, 3046, 3052, 3059, 3068, 3069, 3070, 3074, 3078, - 3082, 3086, 3090, 3094, 3099, 3104, 3109, 3114, 3118, 3123, - 3132, 3137, 3145, 3149, 3153, 3161, 3171, 3171, 3181, 3182, - 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, - 3196, 3197, 3197, 3197, 3198, 3198, 3198, 3198, 3199, 3199, - 3199, 3199, 3199, 3200, 3200, 3200, 3201, 3201, 3201, 3201, - 3201, 3202, 3202, 3202, 3202, 3202, 3203, 3203, 3204, 3204, - 3204, 3204, 3204, 3205, 3205, 3205, 3205, 3205, 3206, 3206, - 3206, 3206, 3207, 3207, 3207, 3207, 3207, 3208, 3208, 3208, - 3208, 3208, 3209, 3209, 3209, 3209, 3209, 3209, 3210, 3210, - 3210, 3210, 3210, 3211, 3211, 3211, 3211, 3212, 3212, 3212, - 3212, 3213, 3213, 3213, 3213, 3213, 3214, 3214, 3214, 3214, - 3215, 3215, 3215, 3215, 3215, 3216, 3216, 3216, 3216, 3217, - 3217, 3217, 3217, 3217, 3218, 3218, 3221, 3221, 3221, 3221, - 3221, 3221, 3221, 3221, 3221, 3221, 3221, 3222, 3222, 3222, - 3222, 3222, 3222, 3222, 3222, 3222, 3222, 3223, 3223, 3227, - 3231, 3238, 3242, 3249, 3253, 3260, 3264, 3268, 3272, 3276, - 3280, 3284, 3288, 3292, 3296, 3300, 3304, 3308, 3312, 3316, - 3320, 3324, 3328, 3332, 3336, 3340, 3344, 3348, 3352, 3356, - 3360, 3364, 3368, 3372, 3376, 3380, 3384, 3388, 3392, 3396, - 3400, 3404, 3408, 3412, 3420, 3424, 3428, 3432, 3436, 3440, - 3444, 3454, 3464, 3470, 3476, 3482, 3488, 3494, 3500, 3507, - 3514, 3521, 3528, 3534, 3540, 3544, 3548, 3552, 3556, 3560, - 3564, 3575, 3586, 3590, 3594, 3598, 3602, 3606, 3610, 3614, - 3618, 3622, 3626, 3630, 3634, 3638, 3642, 3646, 3650, 3654, - 3658, 3662, 3666, 3670, 3674, 3678, 3682, 3686, 3690, 3694, - 3698, 3702, 3706, 3713, 3717, 3721, 3725, 3729, 3733, 3737, - 3741, 3745, 3751, 3757, 3761, 3767, 3774, 3778, 3782, 3786, - 3790, 3794, 3798, 3802, 3806, 3810, 3814, 3818, 3822, 3826, - 3830, 3834, 3838, 3852, 3856, 3860, 3864, 3868, 3872, 3876, - 3880, 3884, 3888, 3892, 3896, 3900, 3911, 3922, 3926, 3930, - 3934, 3938, 3942, 3946, 3950, 3954, 3958, 3962, 3966, 3970, - 3974, 3978, 3982, 3986, 3990, 3994, 3998, 4002, 4006, 4010, - 4014, 4018, 4022, 4026, 4030, 4034, 4038, 4045, 4049, 4053, - 4057, 4061, 4065, 4069, 4073, 4077, 4083, 4089, 4097, 4101, - 4105, 4109, 4116, 4126, 4132, 4138, 4148, 4160, 4168, 4172, - 4202, 4206, 4210, 4214, 4218, 4222, 4228, 4232, 4236, 4240, - 4244, 4255, 4259, 4263, 4267, 4275, 4279, 4283, 4289, 4300 + 2868, 2872, 2876, 2880, 2884, 2888, 2892, 2900, 2899, 2916, + 2920, 2924, 2929, 2937, 2941, 2948, 2949, 2954, 2961, 2962, + 2967, 2975, 2979, 2983, 2990, 2994, 2998, 3006, 3005, 3028, + 3027, 3050, 3051, 3055, 3061, 3068, 3077, 3078, 3079, 3083, + 3087, 3091, 3095, 3099, 3103, 3108, 3113, 3118, 3123, 3127, + 3132, 3141, 3146, 3154, 3158, 3162, 3170, 3180, 3180, 3190, + 3191, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, + 3204, 3205, 3206, 3206, 3206, 3207, 3207, 3207, 3207, 3208, + 3208, 3208, 3208, 3208, 3209, 3209, 3209, 3210, 3210, 3210, + 3210, 3210, 3211, 3211, 3211, 3211, 3211, 3212, 3212, 3213, + 3213, 3213, 3213, 3213, 3214, 3214, 3214, 3214, 3214, 3215, + 3215, 3215, 3215, 3216, 3216, 3216, 3216, 3216, 3217, 3217, + 3217, 3217, 3217, 3218, 3218, 3218, 3218, 3218, 3218, 3219, + 3219, 3219, 3219, 3219, 3220, 3220, 3220, 3220, 3221, 3221, + 3221, 3221, 3222, 3222, 3222, 3222, 3222, 3223, 3223, 3223, + 3223, 3224, 3224, 3224, 3224, 3224, 3225, 3225, 3225, 3225, + 3226, 3226, 3226, 3226, 3226, 3227, 3227, 3230, 3230, 3230, + 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3230, 3231, 3231, + 3231, 3231, 3231, 3231, 3231, 3231, 3231, 3231, 3232, 3232, + 3236, 3240, 3247, 3251, 3258, 3262, 3269, 3273, 3277, 3281, + 3285, 3289, 3293, 3297, 3301, 3305, 3309, 3313, 3317, 3321, + 3325, 3329, 3333, 3337, 3341, 3345, 3349, 3353, 3357, 3361, + 3365, 3369, 3373, 3377, 3381, 3385, 3389, 3393, 3397, 3401, + 3405, 3409, 3413, 3417, 3421, 3429, 3433, 3437, 3441, 3445, + 3449, 3453, 3463, 3473, 3479, 3485, 3491, 3497, 3503, 3509, + 3516, 3523, 3530, 3537, 3543, 3549, 3553, 3557, 3561, 3565, + 3569, 3573, 3584, 3595, 3599, 3603, 3607, 3611, 3615, 3619, + 3623, 3627, 3631, 3635, 3639, 3643, 3647, 3651, 3655, 3659, + 3663, 3667, 3671, 3675, 3679, 3683, 3687, 3691, 3695, 3699, + 3703, 3707, 3711, 3715, 3722, 3726, 3730, 3734, 3738, 3742, + 3746, 3750, 3754, 3760, 3766, 3770, 3776, 3783, 3787, 3791, + 3795, 3799, 3803, 3807, 3811, 3815, 3819, 3823, 3827, 3831, + 3835, 3839, 3843, 3847, 3861, 3865, 3869, 3873, 3877, 3881, + 3885, 3889, 3893, 3897, 3901, 3905, 3909, 3920, 3931, 3935, + 3939, 3943, 3947, 3951, 3955, 3959, 3963, 3967, 3971, 3975, + 3979, 3983, 3987, 3991, 3995, 3999, 4003, 4007, 4011, 4015, + 4019, 4023, 4027, 4031, 4035, 4039, 4043, 4047, 4054, 4058, + 4062, 4066, 4070, 4074, 4078, 4082, 4086, 4092, 4098, 4106, + 4110, 4114, 4118, 4125, 4135, 4141, 4147, 4157, 4169, 4177, + 4181, 4211, 4215, 4219, 4223, 4227, 4231, 4237, 4241, 4245, + 4249, 4253, 4264, 4268, 4272, 4276, 4284, 4288, 4292, 4298, + 4309 }; #endif @@ -1137,10 +1139,11 @@ static const char *const yytname[] = "predefined_type", "var_type_decl", "full_type", "struct_attributes", "anonymous_struct", "$@16", "named_struct", "$@17", "maybe_final", "maybe_class_derivation", "class_derivation", "base_specification", - "enum", "enum_decl", "enum_element_type", "enum_body_trailing_comma", - "enum_body", "enum_keyword", "struct_keyword", "namespace_declaration", - "$@18", "$@19", "using_declaration", "simple_type", "simple_int_type", - "simple_float_type", "simple_void_type", "code", "$@20", "code_block", + "enum", "$@18", "enum_decl", "enum_element_type", + "enum_body_trailing_comma", "enum_body", "enum_keyword", + "struct_keyword", "namespace_declaration", "$@19", "$@20", + "using_declaration", "simple_type", "simple_int_type", + "simple_float_type", "simple_void_type", "code", "$@21", "code_block", "element", "optional_const_expr", "optional_const_expr_comma", "const_expr_comma", "no_angle_bracket_const_expr", "const_expr", "const_operand", "formal_const_expr", "formal_const_operand", @@ -1160,7 +1163,7 @@ yysymbol_name (yysymbol_kind_t yysymbol) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-765) +#define YYTABLE_NINF (-766) #define yytable_value_is_error(Yyn) \ 0 @@ -1169,121 +1172,121 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 244, -937, 4264, 6409, 71, 5678, -937, -937, -937, -937, - -937, -937, -937, -937, -55, 45, 63, 73, 81, 101, - -41, 109, -12, -937, -937, 114, 119, 143, 148, 152, - 156, 164, 169, 176, 186, 209, 221, 240, 245, 251, - 257, 267, 270, 282, 6660, -937, -937, -2, 298, 306, - 2561, 215, -937, 317, 319, 333, 4264, 4264, 4264, 4264, - 4264, 2904, 554, 4264, 5515, -937, 87, -937, -937, -937, - -937, -937, -937, -937, -937, 6520, 339, -937, -6, -937, - -937, 5170, 5582, 5582, -937, 5373, 343, -937, 5582, -937, - -937, 323, 323, -937, -937, -937, -937, 366, 77, -937, - -937, -937, -937, -937, -937, 6442, 355, -937, 7566, 7566, - 7566, -937, 7566, 5998, 7566, 373, -937, 2485, 362, 368, - 369, 371, 372, 375, 7566, 4368, 385, 391, 393, 7566, - 7566, 379, 7391, 7566, 7566, 5879, 7566, 7566, -937, -937, - -937, -937, 5097, -937, -937, -937, -937, -937, 4264, 4264, - 6409, 4264, 4264, 4264, 4264, 6409, 4264, 6409, 4264, 6409, - 4264, 6409, 6409, 6409, 6409, 6409, 6409, 6409, 6409, 6409, - 6409, 6409, 6409, 6409, 6409, 6409, 4264, -937, -937, 381, - 5373, 383, 388, 5373, -937, -937, 6409, 4264, 4264, 390, - 2904, 132, 6409, 2904, 4264, 4264, 132, 132, 132, 132, - 132, -55, 63, 73, 81, 101, 109, 114, 143, 337, - 3091, 6420, 6808, 333, 348, -104, 5515, -937, -937, -937, - -937, -937, -937, -937, -937, -937, -937, -937, -937, 5373, - 5373, -108, 399, -937, -937, 132, 4264, 4264, 4264, 4264, - 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, - 4264, 4264, 4264, 4264, 4264, 4264, 5373, 3319, 4264, -937, - -937, 323, 323, 3454, -937, -937, -937, 5582, -937, -937, - -937, -937, 6409, -937, 396, 320, 332, 323, 323, 332, - 332, 5792, 403, -937, 405, -937, -937, -937, -937, -937, - -937, 5238, 407, 3378, -937, 5373, 524, 426, 410, 3044, - 6025, 7566, -937, -937, -937, -937, 7566, -937, -937, -937, - -937, 7484, 4643, -937, 5373, 5373, 5373, 5373, 5373, 5373, - -937, -937, 429, -937, -937, -937, -937, -937, 4264, -937, - 5189, -937, 423, -937, 5276, -937, 5373, 301, -937, -937, - 160, 415, -937, 416, 6549, 5373, 420, -937, 5373, -937, - 17, 437, -937, -937, -937, -937, 1627, -937, -937, 419, - 440, -937, 427, 428, 430, 431, 435, 438, 433, 439, - 447, 442, 445, 446, 452, 459, 453, -88, 475, 457, - 460, 461, 465, 468, 469, 472, 473, 478, 484, 489, - 4264, -937, 6409, 4264, -937, 7372, 485, 490, 492, 5373, - 493, 504, 496, 4418, 497, 509, 4264, 4264, -937, 614, - -937, 1364, 506, 4264, -937, -937, 1514, 5676, 5119, 5119, - 927, 927, 704, 704, -937, 3202, 1693, 5722, 5852, 927, - 927, 92, 92, 132, 132, 132, -937, -937, -73, 2082, - -937, -937, 511, 4693, 512, 332, 332, 6442, 515, 436, - -937, 403, -937, 403, -937, 436, 436, -937, 332, 6442, - 6433, 6322, 332, 332, 514, 36, -937, 413, 532, -937, - 4264, 5373, 520, -937, -937, -937, -937, 5238, -50, -33, - -29, 6442, 517, -28, -937, -937, -937, 540, 7566, 6442, - 4399, -55, 526, 5345, -937, -937, -937, 527, 543, 546, - 550, 551, 552, 553, 6852, -937, 1990, 6101, 268, 537, - 17, -937, -937, 555, -937, 6409, -937, 14, 3589, 6747, - 1222, -937, 6409, -937, 538, 350, -937, -937, 3184, -937, - -937, 128, -937, 556, 3378, -937, -937, -937, -937, -937, - -937, -937, 547, -937, 548, -937, -937, -937, -937, 6409, - -937, 6409, -937, 6409, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, -937, 5403, 544, 558, -937, 559, - -937, -937, 562, 4539, 568, -937, -937, -937, -937, 132, - 5515, -937, 5373, 399, 6201, 1891, -937, 5515, 4264, -937, - -937, -937, -937, -937, 436, 549, 669, 3044, 561, 5373, - 332, 436, 436, 332, 332, 573, -937, 573, 573, 436, - 670, 6520, 413, 532, -937, 436, 436, -937, -937, 6293, - 581, 332, 413, 413, 332, 332, 413, 79, 332, -937, - 583, 5373, 332, 532, 532, 332, 332, 532, 206, 576, - 5515, -937, -83, -937, 572, 699, 3044, -937, 672, 6442, - -937, -937, -937, -937, -937, -937, -937, -937, 584, 594, - 596, -937, -937, 6660, -937, -937, 597, 1831, 598, -937, - 599, 4264, 4264, 4264, 4264, 2904, 4264, 592, 44, -937, - -937, 5612, -937, 87, -937, 7566, 7566, 6925, -937, 751, - 752, 755, 756, 760, 761, -937, -937, 462, 618, -937, - -937, -937, -937, 6133, -937, 616, 626, 7366, -937, 222, - -937, -937, 9, -937, 128, -937, 628, 6201, 608, 620, - 128, 6201, 611, 5424, 1222, 623, 332, 1222, 1222, 332, - 332, -84, 332, -937, 617, 6998, -937, -937, -937, 5373, - -7, -937, 619, -937, 640, 643, 3724, 3611, 637, 332, - 128, 5029, 128, 332, 332, 128, -937, 178, 358, 332, - 5238, -937, 4264, 4264, 634, 635, 641, -937, -937, -937, - 4264, -937, 4264, -937, 645, -937, 6636, 6442, -937, -937, - -937, -937, -937, -937, 649, -937, -937, 663, -937, 5515, - 573, 332, 648, 5442, 332, 332, 436, 573, 573, 436, - 436, 4264, -64, 6322, 413, 532, 79, 206, 4, 54, - 1891, -937, -937, 332, 413, 654, 654, 413, 413, 273, - 4264, -937, -937, 332, 332, 532, 655, 655, 532, 532, - 310, 4264, -937, 332, -937, 4264, -937, 656, 5460, 7071, - -937, 677, -937, -937, 6409, 6409, 6409, 657, 6409, 664, - 2904, 234, 6409, 2904, 132, 132, 132, 132, 665, -62, - 132, -937, -937, 4674, 4264, 4264, 4264, 4264, 4264, 4264, - 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, 4264, - 4264, 4264, 4264, 4264, 5373, 3859, 4264, -937, -937, -937, - -937, 683, -24, 685, 688, 689, 693, 7144, 48, -937, - 222, 7557, 6101, 5373, 691, 684, 332, 222, 222, 332, - 332, 222, 214, 655, -937, 358, -937, 676, 681, 128, - 262, 680, -937, -937, 345, 332, 1222, 690, 690, 1222, - 1222, -937, 4264, -937, -937, -937, 6201, 682, 370, -937, - 13, 700, 702, -937, 2736, -937, -937, -937, 3724, 686, - 712, 5515, -937, -937, 332, 128, 365, 851, -937, -937, + 300, -937, 4486, 6316, 60, 5787, -937, -937, -937, -937, + -937, -937, -937, -937, -125, -88, -71, -60, -50, -19, + -86, -11, 12, -937, -937, 41, 80, 92, 114, 118, + 125, 143, 166, 169, 172, 208, 211, 214, 226, 231, + 240, 242, 247, 252, 6567, -937, -937, 21, 266, 272, + 3406, 68, -937, 291, 297, 306, 4486, 4486, 4486, 4486, + 4486, 2385, 771, 4486, 5624, -937, 207, -937, -937, -937, + -937, -937, -937, -937, -937, 6427, 309, -937, -8, -937, + -937, 2514, 1397, 1397, -937, 6003, 315, -937, 1397, -937, + -937, 204, 204, -937, -937, -937, -937, -937, 76, -937, + -937, -937, -937, -937, -937, 5421, 321, -937, 7530, 7530, + 7530, -937, 7530, 5959, 7530, -69, -937, 7481, 329, 335, + 338, 354, 357, 359, 7530, 2545, 205, 238, 277, 7530, + 7530, 362, 7350, 7530, 7530, 5886, 7530, 7530, -937, -937, + -937, -937, 1296, -937, -937, -937, -937, -937, 4486, 4486, + 6316, 4486, 4486, 4486, 4486, 6316, 4486, 6316, 4486, 6316, + 4486, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, 6316, + 6316, 6316, 6316, 6316, 6316, 6316, 4486, -937, -937, 366, + 6003, 369, 379, 6003, -937, -937, 6316, 4486, 4486, 390, + 2385, 46, 6316, 2385, 4486, 4486, 46, 46, 46, 46, + 46, -125, -71, -60, -50, -19, -11, 41, 92, 6038, + 6128, 6715, 7239, 306, 126, -95, 5624, -937, -937, -937, + -937, -937, -937, -937, -937, -937, -937, -937, -937, 6003, + 6003, -124, 405, -937, -937, 46, 4486, 4486, 4486, 4486, + 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, + 4486, 4486, 4486, 4486, 4486, 4486, 6003, 3541, 4486, -937, + -937, 204, 204, 3676, -937, -937, -937, 1397, -937, -937, + -937, -937, 6316, -937, 403, 412, 262, 204, 204, 262, + 262, 5901, 400, -937, 401, -937, 422, -937, -937, -937, + -937, 1172, 420, 2453, -937, 6003, 524, 426, 410, 2637, + 2788, 7530, -937, -937, -937, -937, 7530, -937, -937, -937, + -937, 7443, 4590, -937, 6003, 6003, 6003, 6003, 6003, 6003, + -937, -937, 432, -937, -937, -937, -937, -937, 4486, -937, + 2773, -937, 428, -937, 5327, -937, 6003, 175, -937, -937, + 267, 421, -937, 424, 6456, 6003, 427, -937, 6003, -937, + 314, 438, -937, -937, -937, -937, 1213, -937, -937, 425, + 452, -937, 434, 435, 436, 437, 440, 441, 448, 443, + 454, 449, 451, 455, 458, 467, 461, -84, 481, 463, + 465, 466, 471, 474, 476, 482, 483, 484, 485, 486, + 4486, -937, 6316, 4486, -937, 7279, 477, 489, 493, 6003, + 495, 491, 499, 4915, 500, 503, 4486, 4486, -937, 656, + -937, 959, 429, 4486, -937, -937, 3559, 2868, 1424, 1424, + 614, 614, 89, 89, -937, 3289, 1443, 1529, 5773, 614, + 614, 157, 157, 46, 46, 46, -937, -937, -75, 1958, + -937, -937, 510, 5354, 512, 262, 262, 5421, 515, 413, + -937, 400, -937, 400, -937, 413, 413, -937, 262, 5421, + 6340, 6222, 262, 262, 521, 23, -937, 891, 312, -937, + 4486, -937, -937, -937, -937, 1172, -20, 112, 128, 5421, + 517, 142, -937, -937, -937, 543, 7530, 5421, 4621, -125, + 529, 5396, -937, -937, -937, 552, 553, 554, 555, 557, + 558, 561, 6759, -937, 4640, 5993, 360, 545, 314, -937, + -937, 562, -937, 6316, -937, 45, 3811, 6654, 1263, -937, + 6316, -937, 547, 332, -937, -937, 3271, -937, -937, 430, + -937, 563, 2453, -937, -937, -937, -937, -937, -937, -937, + 549, -937, 551, -937, -937, -937, -937, 6316, -937, 6316, + -937, 6316, -937, -937, -937, -937, -937, -937, -937, -937, + -937, -937, -937, 5454, 550, 556, -937, 559, -937, -937, + 560, 4761, 566, -937, -937, -937, -937, 46, 5624, -937, + 6003, 405, 6090, 2476, -937, 5624, 4486, -937, -937, -937, + -937, -937, 413, 569, 670, 2637, 568, 6003, 262, 413, + 413, 262, 262, 570, -937, 570, 570, 413, 684, 6427, + 891, 312, -937, 413, 413, -937, -937, 6184, 578, 262, + 891, 891, 262, 262, 891, -67, 262, -937, 580, 6003, + 262, 312, 312, 262, 262, 312, -47, 572, 5624, -937, + 6003, 577, -937, 602, 703, 2637, -937, 682, 5421, -937, + -937, -937, -937, -937, -937, -937, -937, 594, 606, 609, + -937, -937, 6567, -937, -937, 612, 1897, 621, -937, 619, + 4486, 4486, 4486, 4486, 2385, 4486, 626, 52, -937, -937, + 5658, -937, 207, -937, 7530, 7530, 6832, -937, 782, 785, + 786, 790, 791, 796, -937, -937, 260, 658, -937, -937, + -937, -937, 6052, -937, 652, 666, 7273, -937, 904, -937, + -937, 7, -937, 430, -937, 675, 6090, 660, 659, 430, + 6090, 661, 5506, 1263, 665, 262, 1263, 1263, 262, 262, + -2, 262, -937, 664, 6905, -937, -937, -937, 6003, 163, + -937, 668, -937, 683, 689, 3946, 3833, 673, 262, 430, + 2209, 430, 262, 262, 430, -937, 26, 361, 262, 1172, + -937, 4486, 4486, 674, 678, 690, -937, -937, -937, 4486, + -937, 4486, -937, 691, -937, 6543, 5421, -937, -937, -937, + -937, -937, -937, 694, -937, -937, 693, -937, 5624, 570, + 262, 695, 5548, 262, 262, 413, 570, 570, 413, 413, + 4486, 69, 6222, 891, 312, -67, -47, 137, 196, 2476, + -937, -937, 262, 891, 697, 697, 891, 891, 330, 4486, + -937, -937, 262, 262, 312, 699, 699, 312, 312, 347, + 4486, -937, 262, 72, -937, -937, 700, 5566, 6978, -937, + 710, -937, -937, 6316, 6316, 6316, 696, 6316, 704, 2385, + 234, 6316, 2385, 46, 46, 46, 46, 705, -74, 46, + -937, -937, 4896, 4486, 4486, 4486, 4486, 4486, 4486, 4486, + 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, 4486, + 4486, 4486, 4486, 6003, 4081, 4486, -937, -937, -937, -937, + 722, -70, 730, 731, 732, 733, 7051, 42, -937, 904, + 7359, 5993, 6003, 735, 736, 262, 904, 904, 262, 262, + 904, -41, 699, -937, 361, -937, 715, 724, 430, 285, + 723, -937, -937, 268, 262, 1263, 727, 727, 1263, 1263, + -937, 4486, -937, -937, -937, 6090, 739, 393, -937, 9, + 748, 762, -937, 3103, -937, -937, -937, 3946, 752, 775, + 5624, -937, -937, 262, 430, 381, 915, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, -937, -937, 705, 697, -937, 332, 365, 128, - 128, 279, 4264, -937, 4264, -937, 3184, 725, -937, -937, - 572, -21, -18, -937, -937, -937, -11, 47, -937, 6660, - 323, 826, 239, -937, -937, 332, 332, 436, -937, 573, - 573, 573, 706, 710, -937, 79, 206, -937, -937, 713, - 714, -937, 413, 654, 654, 654, 716, 717, 532, -937, - 655, 655, 655, 718, 720, 727, 3881, -937, -937, -937, - 6015, 735, 738, -937, 724, 737, 740, 4264, 746, 5373, - 728, 747, 741, 5497, 4264, -937, -937, -937, 1514, 5676, - 5119, 5119, 927, 927, 704, 704, -937, 4151, 1693, 5722, - 5852, 927, 927, 92, 92, 132, 132, 132, -937, -937, - 51, 2425, 7217, 895, 899, 763, 903, 753, -937, 914, - 916, 920, -937, 783, 214, 655, -937, -937, -937, -937, - -937, -937, 6409, 332, 222, 222, 222, 4814, -937, -937, - 785, -937, -937, -937, 295, 771, -937, -937, 1222, 690, - 690, 690, 6201, 770, 774, -937, -937, 5373, 4264, 4264, + -937, -937, -937, 766, 759, -937, 262, 381, 430, 430, + 372, 4486, -937, 4486, -937, 3271, 787, -937, -937, 602, + -66, -53, -937, -937, -937, -46, -28, -937, 6567, 204, + 888, 230, -937, -937, 262, 262, 413, -937, 570, 570, + 570, 768, 774, -937, -67, -47, -937, -937, 776, 777, + -937, 891, 697, 697, 697, 778, 770, 312, -937, 699, + 699, 699, 784, 780, 781, -937, 4486, -937, -937, -937, + 4980, 805, 806, -937, 792, 800, 801, 4486, 804, 6003, + 795, 808, 807, 5606, 4486, -937, -937, -937, 3559, 2868, + 1424, 1424, 614, 614, 89, 89, -937, 4103, 1443, 1529, + 5773, 614, 614, 157, 157, 46, 46, 46, -937, -937, + -22, 2259, 7124, 953, 957, 819, 962, 809, -937, 965, + 967, 968, -937, 830, -41, 699, -937, -937, -937, -937, + -937, -937, 6316, 262, 904, 904, 904, 5137, -937, -937, + 832, -937, -937, -937, 386, 817, -937, -937, 1263, 727, + 727, 727, 6090, 813, 823, -937, -937, 6003, 4486, 4486, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, @@ -1297,42 +1300,42 @@ static const yytype_int16 yypact[] = -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, -937, 777, -937, 3994, 128, 365, 332, -937, -937, - -937, 365, 365, -937, 5515, 4399, 772, 3611, 128, -937, - -937, -937, -937, 1891, 323, -937, -937, -937, 6, 780, - -937, -937, 573, 332, 6201, -937, -937, 6201, 6201, 654, - 6201, 332, 655, 6201, 332, -937, 6163, 6284, 6735, 5373, - 376, -937, -937, 936, -937, 6015, -937, 787, 790, 789, - 792, 794, 4539, 799, -937, -937, 132, 4264, -937, -937, - -937, 798, 52, -937, 811, 822, 75, 813, 76, -937, - -937, -937, 222, 816, 827, 829, 830, 2183, 831, 4814, - 4814, 4814, 4814, 4814, 2904, 4814, 4937, -937, 128, 1020, - 6201, 817, -937, 1020, 6201, 690, 821, 332, -937, 825, - -937, 828, 823, 2353, -937, 3724, 5515, 365, -937, 835, - 332, -937, 847, -937, 838, -937, -937, -937, 842, 843, - 848, 849, -937, 853, -937, 6777, -937, 6777, -937, 6777, - -937, -937, 6777, 6777, 6777, -937, 7290, -937, 4264, 4264, - -937, 4264, -937, 4264, 5515, 869, 1011, 874, 1019, -937, - 1021, 881, 887, 1022, 894, 6409, 6409, 6409, 6409, 896, - 2904, 248, 6409, 248, 248, 248, 248, 248, 893, 88, - 248, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, - 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 5373, - 4129, 4264, -937, 897, -937, 6201, 898, -937, -937, 1020, - -937, -937, 1047, -937, 900, -937, -937, -937, -937, -937, + -937, -937, 828, -937, 4216, 430, 381, 262, -937, -937, + -937, 381, 381, -937, 5624, 4621, 835, 3833, 430, -937, + -937, -937, -937, 2476, 204, -937, -937, -937, 6, 838, + -937, -937, 570, 262, 6090, -937, -937, 6090, 6090, 697, + 6090, 262, 699, 6090, 262, 4373, 4865, 6642, 6684, 6003, + 446, -937, -937, 997, -937, 4980, -937, 848, 850, 852, + 855, 857, 4761, 861, -937, -937, 46, 4486, -937, -937, + -937, 860, -7, -937, 874, 879, 96, 864, 117, -937, + -937, -937, 904, 873, 883, 886, 887, 5037, 892, 5137, + 5137, 5137, 5137, 5137, 2385, 5137, 1699, -937, 430, 579, + 6090, 882, -937, 579, 6090, 727, 885, 262, -937, 881, + -937, 889, 893, 2935, -937, 3946, 5624, 381, -937, 894, + 262, -937, 903, -937, 895, -937, -937, -937, 896, 898, + 900, 901, -937, 907, -937, -937, 6415, -937, 6415, -937, + 6415, -937, -937, 6415, 6415, 6415, -937, 7197, -937, 4486, + 4486, -937, 4486, -937, 4486, 5624, 906, 1048, 921, 1061, + -937, 1066, 930, 932, 1075, 937, 6316, 6316, 6316, 6316, + 922, 2385, 255, 6316, 255, 255, 255, 255, 255, 935, + 134, 255, 5137, 5137, 5137, 5137, 5137, 5137, 5137, 5137, + 5137, 5137, 5137, 5137, 5137, 5137, 5137, 5137, 5137, 5137, + 6003, 4351, 4486, -937, 944, -937, 6090, 945, -937, -937, + 579, -937, -937, 1038, -937, 920, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, -937, - -937, 111, 122, 123, 127, -937, 915, -937, 904, 922, - -937, -937, 139, -937, 905, 917, 921, 925, 5373, 912, - 937, 4814, -937, 1435, 5103, 2019, 2019, 1384, 1384, 757, - 757, -937, 956, 5875, 5902, 1347, 488, 488, 248, 248, - 248, -937, -937, 166, 2923, -937, 6201, 930, -937, 1020, - -937, -937, 1020, 931, 1891, 1891, 1891, 1020, 1020, -937, - -937, -937, -937, 1088, 933, 953, 1093, 1094, 958, -937, - 940, 947, 954, 961, 4914, 964, 248, 4814, -937, -937, - 1020, 965, -937, 1020, -937, -937, -937, -937, -937, 987, - -937, 971, 170, -937, 4264, 4264, 4264, -937, 4264, 4937, - -937, 1891, -937, 990, 1130, 993, 175, 191, 211, 218, - 1891, -937, -937, 976, -937, -937, -937, -937, -937, -937, - 995, -937 + -937, -937, 147, 165, 190, 194, -937, 941, -937, 948, + 952, -937, -937, 201, -937, 949, 960, 961, 964, 6003, + 955, 969, 5137, -937, 5718, 1719, 833, 833, 933, 933, + 1004, 1004, -937, 1087, 1646, 5831, 2240, 625, 625, 255, + 255, 255, -937, -937, 219, 2656, -937, 6090, 963, -937, + 579, -937, -937, 579, 966, 2476, 2476, 2476, 579, 579, + -937, -937, -937, -937, 1117, 971, 979, 1119, 1122, 984, + -937, 974, 975, 977, 976, 5237, 980, 255, 5137, -937, + -937, 579, 982, -937, 579, -937, -937, -937, -937, -937, + 987, -937, 983, 223, -937, 4486, 4486, 4486, -937, 4486, + 1699, -937, 2476, -937, 1005, 1136, 1009, 227, 236, 237, + 239, 2476, -937, -937, 992, -937, -937, -937, -937, -937, + -937, 1012, -937 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1340,204 +1343,204 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 769, 0, 0, 0, 769, 5, 657, 653, 656, - 765, 766, 659, 660, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 655, 661, 0, 0, 0, 0, 0, + 0, 770, 0, 0, 0, 770, 5, 658, 654, 657, + 766, 767, 660, 661, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 656, 662, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 663, 662, 0, 0, 0, - 0, 0, 654, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 769, 0, 3, 594, 658, 304, 315, 314, - 398, 399, 401, 402, 383, 0, 0, 413, 380, 412, - 407, 404, 403, 406, 384, 0, 0, 385, 405, 415, - 400, 769, 769, 4, 306, 307, 308, 0, 369, 769, - 303, 395, 396, 397, 1, 0, 0, 21, 769, 769, - 769, 22, 769, 769, 769, 0, 42, 769, 0, 0, - 0, 0, 0, 0, 769, 0, 0, 0, 0, 769, - 769, 0, 769, 769, 769, 0, 769, 769, 6, 17, - 7, 19, 0, 15, 16, 18, 77, 44, 769, 769, - 0, 769, 769, 769, 769, 0, 769, 0, 769, 0, - 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 769, 330, 336, 0, - 0, 0, 618, 0, 769, 329, 0, 769, 769, 0, - 0, 615, 0, 0, 769, 769, 627, 625, 624, 626, - 623, 304, 398, 399, 401, 402, 413, 412, 407, 404, - 403, 406, 405, 400, 0, 0, 553, 750, 751, 752, - 760, 753, 756, 754, 758, 757, 755, 759, 739, 740, - 0, 0, 769, 745, 738, 622, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 664, 663, 0, 0, 0, + 0, 0, 655, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 770, 0, 3, 595, 659, 304, 315, 314, + 399, 400, 402, 403, 384, 0, 0, 414, 381, 413, + 408, 405, 404, 407, 385, 0, 0, 386, 406, 416, + 401, 770, 770, 4, 306, 307, 308, 367, 370, 770, + 303, 396, 397, 398, 1, 0, 0, 21, 770, 770, + 770, 22, 770, 770, 770, 0, 42, 770, 0, 0, + 0, 0, 0, 0, 770, 0, 0, 0, 0, 770, + 770, 0, 770, 770, 770, 0, 770, 770, 6, 17, + 7, 19, 0, 15, 16, 18, 77, 44, 770, 770, + 0, 770, 770, 770, 770, 0, 770, 0, 770, 0, + 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 770, 330, 336, 0, + 0, 0, 619, 0, 770, 329, 0, 770, 770, 0, + 0, 616, 0, 0, 770, 770, 628, 626, 625, 627, + 624, 304, 399, 400, 402, 403, 414, 413, 408, 405, + 404, 407, 406, 401, 0, 0, 554, 751, 752, 753, + 761, 754, 757, 755, 759, 758, 756, 760, 740, 741, + 0, 0, 770, 746, 739, 623, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 767, - 768, 769, 769, 0, 381, 382, 414, 404, 409, 408, - 411, 305, 0, 410, 0, 290, 769, 769, 769, 769, - 769, 769, 0, 339, 289, 341, 769, 761, 762, 763, - 764, 0, 371, 0, 343, 0, 0, 66, 68, 0, - 769, 769, 56, 45, 55, 57, 769, 46, 158, 51, - 23, 769, 0, 49, 0, 0, 0, 0, 0, 0, - 54, 769, 0, 26, 25, 24, 52, 48, 0, 162, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 768, + 769, 770, 770, 0, 382, 383, 415, 405, 410, 409, + 412, 305, 0, 411, 0, 290, 770, 770, 770, 770, + 770, 770, 0, 339, 289, 341, 0, 762, 763, 764, + 765, 0, 372, 0, 343, 0, 0, 66, 68, 0, + 770, 770, 56, 45, 55, 57, 770, 46, 158, 51, + 23, 770, 0, 49, 0, 0, 0, 0, 0, 0, + 54, 770, 0, 26, 25, 24, 52, 48, 0, 162, 0, 161, 0, 58, 0, 20, 0, 0, 50, 53, 338, 317, 328, 0, 0, 0, 0, 13, 0, 74, - 0, 337, 71, 319, 320, 321, 369, 769, 316, 0, - 552, 551, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 337, 71, 319, 320, 321, 370, 770, 316, 0, + 553, 552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 331, 0, 769, 333, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 652, 743, - 746, 0, 769, 0, 741, 218, 636, 637, 638, 639, - 640, 641, 644, 645, 651, 0, 633, 634, 635, 642, - 643, 631, 632, 628, 629, 630, 650, 649, 0, 0, - 340, 342, 0, 0, 0, 769, 769, 0, 0, 769, - 62, 0, 292, 0, 293, 769, 769, 203, 769, 0, - 0, 0, 769, 769, 0, 204, 207, 769, 0, 202, - 769, 377, 0, 374, 373, 368, 372, 0, 750, 751, - 752, 0, 0, 754, 347, 309, 349, 0, 769, 0, - 769, 317, 0, 0, 47, 43, 769, 0, 0, 0, - 0, 0, 0, 0, 769, 386, 0, 769, 338, 317, - 0, 337, 80, 0, 392, 0, 85, 89, 0, 0, - 769, 318, 0, 769, 0, 0, 416, 225, 0, 76, - 73, 0, 324, 371, 0, 601, 600, 617, 607, 603, - 605, 606, 0, 613, 0, 612, 666, 602, 667, 0, - 669, 0, 670, 0, 673, 674, 675, 676, 677, 678, - 679, 680, 681, 682, 609, 0, 0, 0, 332, 0, - 608, 611, 0, 614, 0, 620, 621, 610, 604, 595, - 554, 744, 0, 769, 769, 769, 102, 219, 0, 648, - 647, 312, 311, 313, 769, 291, 0, 0, 0, 280, - 769, 769, 769, 769, 769, 296, 279, 295, 294, 769, - 0, 0, 769, 0, 244, 769, 769, 769, 206, 0, - 0, 769, 769, 769, 769, 769, 769, 769, 769, 257, - 0, 268, 769, 0, 0, 769, 769, 0, 769, 0, - 550, 549, 378, 367, 310, 0, 0, 769, 769, 0, - 59, 67, 731, 727, 730, 733, 734, 210, 0, 0, - 0, 729, 735, 0, 737, 736, 0, 0, 0, 728, - 0, 0, 0, 0, 0, 0, 0, 0, 211, 246, - 214, 247, 683, 732, 209, 769, 769, 769, 388, 0, - 0, 0, 0, 0, 0, 390, 769, 0, 0, 179, - 180, 181, 167, 0, 168, 0, 164, 169, 165, 769, - 178, 163, 0, 82, 0, 394, 0, 769, 0, 0, - 0, 769, 0, 0, 769, 0, 769, 769, 769, 769, - 769, 0, 769, 248, 0, 769, 91, 416, 220, 0, - 0, 75, 0, 769, 0, 0, 769, 0, 0, 769, - 0, 0, 0, 769, 769, 0, 72, 769, 769, 769, - 0, 322, 0, 0, 0, 0, 0, 334, 335, 619, - 0, 616, 0, 742, 0, 109, 0, 0, 103, 111, - 106, 110, 105, 107, 0, 104, 108, 0, 197, 646, - 297, 769, 0, 0, 769, 769, 769, 282, 283, 769, - 769, 769, 0, 0, 769, 0, 769, 769, 0, 0, - 769, 205, 208, 769, 769, 259, 260, 769, 769, 0, - 769, 238, 258, 769, 769, 0, 270, 271, 0, 0, - 0, 769, 241, 769, 375, 0, 344, 0, 0, 769, - 352, 769, 351, 70, 0, 0, 0, 693, 0, 0, - 0, 690, 0, 0, 701, 700, 699, 698, 0, 0, - 697, 69, 213, 0, 0, 0, 0, 0, 0, 0, + 0, 331, 0, 770, 333, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 653, 744, + 747, 0, 770, 0, 742, 218, 637, 638, 639, 640, + 641, 642, 645, 646, 652, 0, 634, 635, 636, 643, + 644, 632, 633, 629, 630, 631, 651, 650, 0, 0, + 340, 342, 0, 0, 0, 770, 770, 0, 0, 770, + 62, 0, 292, 0, 293, 770, 770, 203, 770, 0, + 0, 0, 770, 770, 0, 204, 207, 770, 0, 202, + 770, 770, 374, 369, 373, 0, 751, 752, 753, 0, + 0, 755, 347, 309, 349, 0, 770, 0, 770, 317, + 0, 0, 47, 43, 770, 0, 0, 0, 0, 0, + 0, 0, 770, 387, 0, 770, 338, 317, 0, 337, + 80, 0, 393, 0, 85, 89, 0, 0, 770, 318, + 0, 770, 0, 0, 417, 225, 0, 76, 73, 0, + 324, 372, 0, 602, 601, 618, 608, 604, 606, 607, + 0, 614, 0, 613, 667, 603, 668, 0, 670, 0, + 671, 0, 674, 675, 676, 677, 678, 679, 680, 681, + 682, 683, 610, 0, 0, 0, 332, 0, 609, 612, + 0, 615, 0, 621, 622, 611, 605, 596, 555, 745, + 0, 770, 770, 770, 102, 219, 0, 649, 648, 312, + 311, 313, 770, 291, 0, 0, 0, 280, 770, 770, + 770, 770, 770, 296, 279, 295, 294, 770, 0, 0, + 770, 0, 244, 770, 770, 770, 206, 0, 0, 770, + 770, 770, 770, 770, 770, 770, 770, 257, 0, 268, + 770, 0, 0, 770, 770, 0, 770, 0, 551, 550, + 378, 0, 375, 310, 0, 0, 770, 770, 0, 59, + 67, 732, 728, 731, 734, 735, 210, 0, 0, 0, + 730, 736, 0, 738, 737, 0, 0, 0, 729, 0, + 0, 0, 0, 0, 0, 0, 0, 211, 246, 214, + 247, 684, 733, 209, 770, 770, 770, 389, 0, 0, + 0, 0, 0, 0, 391, 770, 0, 0, 179, 180, + 181, 167, 0, 168, 0, 164, 169, 165, 770, 178, + 163, 0, 82, 0, 395, 0, 770, 0, 0, 0, + 770, 0, 0, 770, 0, 770, 770, 770, 770, 770, + 0, 770, 248, 0, 770, 91, 417, 220, 0, 0, + 75, 0, 770, 0, 0, 770, 0, 0, 770, 0, + 0, 0, 770, 770, 0, 72, 770, 770, 770, 0, + 322, 0, 0, 0, 0, 0, 334, 335, 620, 0, + 617, 0, 743, 0, 109, 0, 0, 103, 111, 106, + 110, 105, 107, 0, 104, 108, 0, 197, 647, 297, + 770, 0, 0, 770, 770, 770, 282, 283, 770, 770, + 770, 0, 0, 770, 0, 770, 770, 0, 0, 770, + 205, 208, 770, 770, 259, 260, 770, 770, 0, 770, + 238, 258, 770, 770, 0, 270, 271, 0, 0, 0, + 770, 241, 770, 379, 368, 344, 0, 0, 770, 352, + 770, 351, 70, 0, 0, 0, 694, 0, 0, 0, + 691, 0, 0, 702, 701, 700, 699, 0, 0, 698, + 69, 213, 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, 61, 60, 391, - 769, 0, 0, 769, 0, 0, 0, 769, 0, 41, - 769, 769, 0, 172, 170, 0, 769, 769, 769, 769, - 769, 769, 769, 176, 81, 769, 393, 0, 0, 0, - 0, 0, 326, 325, 0, 769, 769, 250, 251, 769, - 769, 97, 769, 249, 327, 14, 769, 0, 0, 8, - 0, 0, 0, 226, 417, 418, 228, 229, 769, 0, - 232, 234, 231, 227, 769, 0, 185, 0, 126, 127, - 128, 129, 130, 131, 134, 135, 150, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, 149, 154, - 153, 137, 136, 123, 125, 124, 132, 133, 121, 122, - 118, 119, 120, 117, 0, 0, 116, 769, 186, 0, - 0, 0, 0, 193, 769, 195, 0, 0, 78, 182, - 323, 0, 0, 668, 671, 672, 0, 0, 769, 0, - 769, 0, 0, 416, 63, 769, 769, 769, 281, 286, - 285, 284, 0, 0, 245, 769, 769, 239, 242, 0, - 0, 299, 769, 263, 262, 261, 267, 0, 0, 269, - 274, 273, 272, 278, 0, 298, 379, 346, 345, 348, - 0, 0, 354, 353, 0, 0, 0, 769, 0, 0, - 0, 0, 0, 0, 0, 726, 212, 215, 710, 711, - 712, 713, 714, 715, 718, 719, 725, 0, 707, 708, - 709, 716, 717, 705, 706, 702, 703, 704, 724, 723, - 0, 0, 769, 0, 0, 0, 0, 0, 200, 0, - 0, 0, 387, 0, 769, 177, 157, 155, 160, 156, - 166, 173, 0, 769, 769, 769, 769, 0, 174, 216, - 0, 83, 769, 87, 0, 0, 769, 99, 769, 254, - 253, 252, 769, 0, 0, 221, 416, 0, 769, 769, - 223, 224, 420, 421, 425, 422, 430, 423, 424, 426, - 427, 428, 429, 431, 432, 433, 434, 435, 436, 437, - 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, - 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, - 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, - 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, - 478, 498, 479, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, - 497, 499, 500, 501, 502, 503, 504, 505, 506, 507, - 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, - 518, 519, 520, 521, 522, 523, 524, 525, 769, 542, - 543, 544, 535, 547, 531, 532, 530, 537, 538, 526, - 527, 528, 529, 536, 534, 541, 539, 545, 540, 533, - 546, 419, 0, 230, 233, 0, 189, 769, 152, 151, - 183, 188, 187, 192, 196, 769, 0, 219, 0, 598, - 597, 599, 596, 769, 769, 198, 115, 112, 0, 0, - 65, 64, 287, 769, 769, 240, 243, 769, 769, 264, - 769, 769, 275, 769, 769, 376, 758, 0, 757, 0, - 0, 355, 357, 747, 769, 0, 692, 0, 0, 0, - 0, 0, 689, 0, 695, 696, 684, 0, 722, 721, - 389, 0, 0, 33, 201, 0, 0, 0, 0, 40, - 175, 171, 769, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 217, 555, 0, 86, - 769, 0, 93, 90, 769, 255, 0, 769, 769, 0, - 9, 0, 0, 0, 235, 769, 236, 190, 184, 0, - 769, 79, 0, 199, 0, 113, 664, 288, 0, 0, - 0, 0, 265, 0, 276, 0, 360, 0, 359, 0, - 358, 748, 0, 0, 0, 749, 769, 356, 0, 0, - 694, 0, 691, 0, 720, 0, 0, 0, 0, 27, + 0, 0, 0, 0, 0, 0, 61, 60, 392, 770, + 0, 0, 770, 0, 0, 0, 770, 0, 41, 770, + 770, 0, 172, 170, 0, 770, 770, 770, 770, 770, + 770, 770, 176, 81, 770, 394, 0, 0, 0, 0, + 0, 326, 325, 0, 770, 770, 250, 251, 770, 770, + 97, 770, 249, 327, 14, 770, 0, 0, 8, 0, + 0, 0, 226, 418, 419, 228, 229, 770, 0, 232, + 234, 231, 227, 770, 0, 185, 0, 126, 127, 128, + 129, 130, 131, 134, 135, 150, 138, 139, 140, 141, + 142, 143, 144, 145, 146, 147, 148, 149, 154, 153, + 137, 136, 123, 125, 124, 132, 133, 121, 122, 118, + 119, 120, 117, 0, 0, 116, 770, 186, 0, 0, + 0, 0, 193, 770, 195, 0, 0, 78, 182, 323, + 0, 0, 669, 672, 673, 0, 0, 770, 0, 770, + 0, 0, 417, 63, 770, 770, 770, 281, 286, 285, + 284, 0, 0, 245, 770, 770, 239, 242, 0, 0, + 299, 770, 263, 262, 261, 267, 0, 0, 269, 274, + 273, 272, 278, 0, 298, 376, 0, 346, 345, 348, + 0, 0, 354, 353, 0, 0, 0, 770, 0, 0, + 0, 0, 0, 0, 0, 727, 212, 215, 711, 712, + 713, 714, 715, 716, 719, 720, 726, 0, 708, 709, + 710, 717, 718, 706, 707, 703, 704, 705, 725, 724, + 0, 0, 770, 0, 0, 0, 0, 0, 200, 0, + 0, 0, 388, 0, 770, 177, 157, 155, 160, 156, + 166, 173, 0, 770, 770, 770, 770, 0, 174, 216, + 0, 83, 770, 87, 0, 0, 770, 99, 770, 254, + 253, 252, 770, 0, 0, 221, 417, 0, 770, 770, + 223, 224, 421, 422, 426, 423, 431, 424, 425, 427, + 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, + 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, + 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, + 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, + 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, + 479, 499, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, + 498, 500, 501, 502, 503, 504, 505, 506, 507, 508, + 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, + 519, 520, 521, 522, 523, 524, 525, 526, 770, 543, + 544, 545, 536, 548, 532, 533, 531, 538, 539, 527, + 528, 529, 530, 537, 535, 542, 540, 546, 541, 534, + 547, 420, 0, 230, 233, 0, 189, 770, 152, 151, + 183, 188, 187, 192, 196, 770, 0, 219, 0, 599, + 598, 600, 597, 770, 770, 198, 115, 112, 0, 0, + 65, 64, 287, 770, 770, 240, 243, 770, 770, 264, + 770, 770, 275, 770, 770, 380, 759, 0, 758, 0, + 0, 355, 357, 748, 770, 0, 693, 0, 0, 0, + 0, 0, 690, 0, 696, 697, 685, 0, 723, 722, + 390, 0, 0, 33, 201, 0, 0, 0, 0, 40, + 175, 171, 770, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 556, 0, 86, + 770, 0, 93, 90, 770, 255, 0, 770, 770, 0, + 9, 0, 0, 0, 235, 770, 236, 190, 184, 0, + 770, 79, 0, 199, 0, 113, 665, 288, 0, 0, + 0, 0, 265, 0, 276, 377, 0, 360, 0, 359, + 0, 358, 749, 0, 0, 0, 750, 770, 356, 0, + 0, 695, 0, 692, 0, 721, 0, 0, 0, 0, + 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 563, 0, 571, 569, 568, 570, 567, 0, + 0, 566, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 562, 0, 570, 568, 567, 569, 566, 0, 0, - 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 84, 0, 95, 769, 0, 769, 256, 92, - 222, 12, 10, 548, 0, 769, 191, 416, 114, 769, - 769, 769, 769, 769, 366, 365, 364, 363, 362, 361, - 350, 0, 0, 0, 0, 36, 769, 34, 0, 0, - 37, 39, 0, 29, 0, 0, 0, 0, 0, 0, - 0, 0, 593, 579, 580, 581, 582, 583, 584, 585, - 586, 592, 0, 576, 577, 578, 574, 575, 571, 572, - 573, 591, 590, 0, 0, 769, 769, 0, 769, 98, - 11, 237, 194, 0, 769, 769, 769, 266, 277, 687, - 686, 688, 685, 0, 0, 0, 0, 0, 0, 564, - 0, 0, 0, 0, 561, 0, 556, 0, 589, 588, - 88, 0, 769, 100, 665, 302, 301, 300, 201, 0, - 28, 0, 0, 30, 0, 0, 0, 563, 0, 587, - 769, 769, 35, 0, 0, 0, 0, 0, 0, 0, - 769, 94, 38, 0, 31, 559, 558, 560, 557, 96, - 0, 32 + 0, 0, 0, 84, 0, 95, 770, 0, 770, 256, + 92, 222, 12, 10, 549, 0, 770, 191, 417, 114, + 770, 770, 770, 770, 770, 366, 365, 364, 363, 362, + 361, 350, 0, 0, 0, 0, 36, 770, 34, 0, + 0, 37, 39, 0, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 594, 580, 581, 582, 583, 584, 585, + 586, 587, 593, 0, 577, 578, 579, 575, 576, 572, + 573, 574, 592, 591, 0, 0, 770, 770, 0, 770, + 98, 11, 237, 194, 0, 770, 770, 770, 266, 277, + 688, 687, 689, 686, 0, 0, 0, 0, 0, 0, + 565, 0, 0, 0, 0, 562, 0, 557, 0, 590, + 589, 88, 0, 770, 100, 666, 302, 301, 300, 201, + 0, 28, 0, 0, 30, 0, 0, 0, 564, 0, + 588, 770, 770, 35, 0, 0, 0, 0, 0, 0, + 0, 770, 94, 38, 0, 31, 560, 559, 561, 558, + 96, 0, 32 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -937, -937, -320, -937, 3, -937, -937, 834, -129, -937, - 1175, 1301, -409, 503, -125, -937, -937, -145, -937, -937, - -224, -937, -937, -937, -937, 833, -937, -937, -937, -937, - -937, -533, -937, -937, -107, -937, -937, -937, -937, 254, - 454, -651, -937, -706, -740, -356, -532, -937, -133, -937, - 49, -542, -937, -495, -936, -937, -456, 302, -682, 84, - -267, 557, -81, -52, -59, -285, -650, 836, 883, -166, - -132, -937, -122, -937, -937, -937, -937, -171, -117, -937, - -458, -937, -937, -8, 20, -937, -937, -937, -937, 182, - -5, -937, -937, -728, -937, -90, -937, -659, -121, -32, - 698, 941, 507, 502, -937, -937, 765, -79, 1310, 8, - -488, -1 + -937, -937, -313, -937, 24, -937, -937, 863, -130, -937, + 1043, 1315, -416, 530, -129, -937, -937, -117, -937, -937, + -196, -937, -937, -937, -937, 851, -937, -937, -937, -937, + -937, -515, -937, -937, -112, -937, -937, -937, -937, 283, + 505, -702, -937, -700, -744, -331, -554, -937, -87, -937, + 97, -519, -937, -501, -936, -937, -452, 348, -589, -378, + -450, -108, -82, -59, -52, -280, -635, 878, 1484, -159, + -127, -937, -100, -937, -937, -937, -937, -122, -97, -937, + -937, -461, -937, -937, -18, 36, -937, -937, -937, -937, + 59, 61, -937, -937, -731, -937, -43, -937, -734, -119, + -32, 729, 951, 711, 567, -937, -937, 810, -574, 1388, + -54, -482, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 4, 5, 938, 939, 139, 523, 140, 141, 311, - 142, 449, 296, 297, 143, 531, 525, 756, 335, 714, - 914, 349, 717, 1380, 721, 350, 936, 1485, 1556, 1142, - 1384, 585, 997, 1118, 144, 332, 705, 706, 707, 708, - 709, 757, 1295, 758, 787, 1107, 464, 465, 677, 678, - 1128, 414, 741, 529, 949, 950, 466, 680, 731, 815, - 826, 282, 283, 91, 92, 351, 182, 352, 93, 293, - 94, 647, 95, 648, 841, 1061, 1062, 1331, 96, 97, - 475, 471, 472, 98, 99, 145, 696, 890, 146, 100, - 101, 102, 103, 742, 743, 944, 1281, 639, 359, 360, - 1586, 216, 65, 681, 682, 231, 232, 1332, 1333, 628, - 66, 450 + 0, 4, 5, 937, 938, 139, 521, 140, 141, 311, + 142, 449, 296, 297, 143, 529, 523, 755, 335, 713, + 913, 349, 716, 1380, 720, 350, 935, 1486, 1557, 1142, + 1384, 583, 996, 1118, 144, 332, 704, 705, 706, 707, + 708, 756, 1295, 757, 786, 1107, 464, 465, 676, 677, + 1128, 414, 740, 527, 948, 949, 466, 679, 730, 814, + 825, 282, 283, 91, 92, 351, 182, 352, 93, 293, + 94, 646, 95, 647, 840, 1061, 1062, 1331, 96, 286, + 97, 473, 640, 641, 98, 99, 145, 695, 889, 146, + 100, 101, 102, 103, 741, 742, 943, 1281, 637, 359, + 360, 1587, 216, 65, 680, 681, 231, 232, 1332, 1333, + 626, 66, 450 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1545,1479 +1548,1474 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 6, 504, 683, 329, 147, 614, 308, 331, 915, 937, - 353, 285, 1282, 847, 492, 713, 262, 1005, 395, 644, - 354, 1404, 719, 261, 718, 355, -761, 719, 362, 215, - 364, 365, 366, 367, 679, 369, 183, 371, 596, 373, - 411, 773, 924, -762, 407, 927, 928, -763, -764, 511, - 610, 618, 774, 264, 259, 389, 260, 941, 942, 862, - 551, 234, 412, 408, 184, 834, 397, 398, 835, 920, - 1041, 104, 645, 404, 405, 407, 268, 269, 270, 552, - 651, 931, 932, 273, 810, 821, 407, 287, 288, 289, - 284, 284, 148, 259, 589, 260, 832, -761, 294, 956, - -761, 998, 801, 1033, 1001, 1075, 292, 147, 147, 147, - 149, 147, 147, 147, -762, 155, 147, -762, -763, -764, - 265, -763, -764, 147, 1104, 244, 1020, 407, 147, 147, - 407, 147, 147, 147, 356, 147, 147, 407, 287, 288, - 289, 748, 1032, 1105, 157, 749, 1299, 361, 361, 1300, - 361, 361, 361, 361, 186, 361, 1301, 361, 215, 361, - 1148, 1047, 357, 812, 526, 244, 527, 353, 528, 720, - 801, 1039, 1054, 1405, 720, 361, 687, 354, 1149, 683, - 440, 441, 355, 294, 619, 917, 361, 361, 750, 921, - 290, 534, 863, 361, 361, 407, 452, 454, 353, 407, - 1436, 638, 353, 735, 268, 269, 270, 273, 354, 898, - 150, 776, 354, 355, 1302, 1113, 1007, 355, 1348, 1437, - 801, 1040, 468, 1440, 1443, 438, 185, 291, 151, 467, - 413, 415, 287, 288, 289, 905, 407, 631, 152, 906, - 751, 290, 1441, 1444, 1139, 820, 153, 1140, 1141, 217, - 218, 219, 253, 254, 255, 1532, 256, 257, 258, 407, - 284, 284, 268, 1008, 1037, 1038, 154, 872, 1134, 752, - 407, 407, 567, 1143, 156, 407, 284, 284, 1569, 158, - 469, 1469, 907, 753, 159, 473, 476, 1577, 754, 1570, - 1571, 356, 520, 755, 1572, 1309, 256, 257, 258, 147, - 147, 486, 1010, 220, 1286, 147, 1578, -101, 160, -101, - 147, -101, 792, 161, 407, 221, 222, 162, 1614, 357, - 6, 163, 356, 407, 358, 516, 356, 839, 1002, 164, - 217, 218, 219, 1588, 165, 290, 274, 1615, 275, 407, - 276, 166, 1625, 1003, 1004, 1296, 807, 1034, 1291, 1292, - 357, 167, 223, 224, 357, 225, 294, 413, 1626, 407, - 226, 837, 227, 908, 533, 1127, 407, 827, 1021, 1304, - 830, 192, 831, 1130, 168, 683, 897, 909, 1627, 447, - 820, 448, 910, 277, 220, 1628, 169, 911, 1, 2, - 3, 70, 361, 71, 72, 73, 221, 222, 884, 885, - 886, 613, 468, 266, 1144, 170, 1307, 679, 612, 467, - 171, 586, 1479, 1480, 1481, -101, 172, -101, 1389, -101, - 1131, 80, 173, 287, 288, 289, 620, 1003, 1004, 1135, - 621, 468, 174, 223, 224, 175, 225, 267, 467, 820, - 1046, 226, 913, 227, 1003, 1004, 1293, 176, 606, 598, - 514, 599, 515, 600, 606, 606, 1385, 82, 83, 1494, - 1003, 1004, 1381, 187, 278, 353, 629, 724, 10, 641, - 11, 188, 476, 622, 88, 354, 831, 1053, 279, 90, - 355, 358, 193, 280, 194, 1303, -280, 147, 281, 684, - 1422, 1423, 1424, 1315, 1316, 6, 601, 737, 195, 738, - 739, 740, 176, 147, 263, 526, 711, 527, 272, 1006, - 1137, 932, 358, 286, 353, 406, 358, 1146, 1147, 733, - 299, 1469, 6, 310, 354, 468, 290, 314, 732, 355, - 1003, 1004, 467, 315, 316, 323, 317, 318, 1036, 759, - 319, 324, 486, 325, 328, 630, 390, 631, 392, 632, - 413, 627, 805, 393, 623, 399, 445, 477, 1050, 804, - 468, 1051, 1052, 1402, 217, 218, 219, 467, 624, 470, - 1102, -279, 488, 625, 489, 490, 505, 602, 626, 507, - 517, 518, 415, 469, 788, 522, 530, 535, 407, 356, - 542, 603, 633, 606, 536, 537, 604, 538, 539, 1379, - 606, 606, 540, 1383, 544, 541, 543, 549, 606, 545, - 1386, 629, 546, 547, 606, 606, 586, 357, 220, 548, - 550, 629, 629, 553, 554, 629, 415, 555, 556, 581, - 221, 222, 557, 1115, 1397, 558, 559, 415, 356, 560, - 561, 827, 569, 859, 830, 562, 6, 842, 1476, 1477, - 1478, 563, 1479, 1480, 1481, 183, 564, 570, 468, 571, - 573, 574, 468, 575, 577, 467, 357, 223, 224, 467, - 225, 584, 915, 634, 688, 226, 578, 227, 591, 593, - 597, 617, 646, 184, 147, 147, 147, 635, 643, 710, - 649, 689, 636, 685, 690, 6, 806, 637, 691, 692, - 693, 694, 712, 736, 715, 228, 760, 816, 629, 229, - 819, 768, 762, 763, 230, -281, 469, 791, 803, -370, - 469, 794, 759, 733, 770, 769, 733, 733, 759, 771, - 1011, 1012, 732, 772, 147, 732, 732, 244, 1016, 801, - 1017, 813, 945, 823, 468, 952, 833, 836, 840, 844, - 845, 467, 846, 848, 852, 476, 788, 415, 759, 861, - 759, 891, 892, 759, 853, 893, 894, 899, 183, 1563, - 895, 896, 1116, 901, 902, 918, 1117, 916, 922, 358, - 919, 1322, 1408, 925, 934, 1409, 1410, 943, 1411, 946, - 1469, 1413, 947, 912, 1119, 606, 184, 954, 606, 606, - 641, 1013, 1014, 629, 468, 415, 415, 683, 1015, 788, - 1023, 467, 1018, 629, 1022, 1025, 629, 629, 859, 641, - 820, 831, 1067, 1057, 1595, 1596, 1597, 1060, 358, 1069, - 641, 1103, 1074, 1106, 451, 453, 1109, 1110, 147, 679, - 1063, 1111, 1122, 1132, 1123, 185, 1133, 1136, 1483, 1150, - 1145, 1151, 1486, 1100, 1283, 1489, 932, 1050, 1051, 1052, - 1284, 1287, 251, 252, 253, 254, 255, 1289, 256, 257, - 258, 1621, 1288, 1298, 1306, 1314, 1313, 468, 1317, 1318, - 1629, 1320, 1334, 1323, 467, 710, 1335, 1321, 1035, 6, - 1324, 1336, 1108, -288, 1337, 1342, 147, 1338, 1043, 629, - 147, 1044, 1045, 1340, 1343, 1351, 629, 629, 1344, 1352, - 629, 1129, 1353, 1354, 415, 1474, 1475, 1476, 1477, 1478, - 1355, 1479, 1480, 1481, 1356, 733, 1357, 759, 733, 733, - 1358, 641, 1359, 1378, 732, 469, 1382, 732, 732, 1305, - 1387, 1388, 1400, 64, 214, 1394, 1339, 952, 1406, 242, - 243, 1425, 1428, 1557, 1559, 1429, 1430, 1431, 185, 1438, - 244, 1432, 1562, 759, 1433, 1435, 1564, 1565, 1566, 1567, - 1568, 1439, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, - 1442, 1445, 1484, 1446, 1114, 1447, 1448, 1452, 1487, 1469, - 1492, 191, 816, 1490, 1497, 819, 1491, 196, 197, 198, - 199, 200, 1495, 641, 235, 1498, 605, 759, 759, 1499, - 1500, 183, 607, 608, 1426, 1501, 1502, 586, 1515, 284, - 1503, 1516, 1590, 1517, 1591, 1593, 606, 1391, 1392, 1518, - 1520, 1519, 1522, 363, 415, 415, 1521, 775, 368, 184, - 370, 629, 372, 1523, 374, 375, 376, 377, 378, 379, - 380, 381, 382, 383, 384, 385, 386, 387, 388, 1611, - 1531, 1528, 1560, 1573, 1555, 1558, 361, 777, 1561, 396, - 1576, 1575, 1579, 400, 1580, 401, 402, 1620, 1581, 1584, - 778, 779, 1582, 468, 710, 251, 252, 253, 254, 255, - 467, 256, 257, 258, 1585, 1322, 780, 1592, 1598, 1594, - 1599, 147, 1600, 1601, 1602, 1604, 1587, 1603, 1470, 1471, - 1472, 1473, 1605, 1129, 1474, 1475, 1476, 1477, 1478, 1606, - 1479, 1480, 1481, 629, 629, 629, 1319, 781, 1607, 1608, - 782, 586, 1610, 783, 403, 586, 1612, 733, 1613, 1622, - 1623, 469, 1624, 1630, 1631, 495, 732, 361, 361, 784, - 1390, 790, 843, 1401, 1482, 444, 1120, 900, 797, 798, - 1574, 785, 1399, 1360, 1427, 1077, 802, 510, 1393, 851, - 512, 0, 808, 809, 0, 786, 583, 416, 417, 418, + 6, 308, 329, 331, 147, 936, 682, 712, 502, 612, + 285, 1282, 1004, 914, 643, 353, 261, 919, 636, 490, + 718, 1404, 148, 262, 411, 395, 183, 846, 773, 215, + 362, 594, 364, 365, 366, 367, 678, 369, 616, 371, + 149, 373, 354, 608, 292, 355, 412, 955, 259, 997, + 260, 264, 1000, 407, 509, 717, -762, 389, 718, 775, + 104, 234, 772, 644, 549, 1040, 1031, 861, 397, 398, + 155, 650, 408, 407, 407, 404, 405, 150, 1104, 244, + 184, 310, 407, 550, 413, 1046, 287, 288, 289, 625, + 284, 284, 587, 1075, 151, 407, 1053, 1105, 294, 819, + 809, 1299, 407, 185, 413, 152, 820, 147, 147, 147, + 1127, 147, 147, 147, 1300, 153, 147, 831, 265, 830, + 407, 1301, 244, 147, 356, 819, 407, -762, 147, 147, + -762, 147, 147, 147, 923, 147, 147, 926, 927, 1302, + 1019, 1437, 268, 269, 270, 1348, 154, 361, 361, 273, + 361, 361, 361, 361, 156, 361, 1148, 361, 215, 361, + 1438, 806, 916, 930, 931, 811, 920, 719, 157, 451, + 453, 617, 353, 1405, 1149, 361, 1001, 186, 357, 440, + 441, 686, 826, 294, 682, 829, 361, 361, -763, 290, + 244, 1002, 1003, 361, 361, 452, 454, 1143, 532, 354, + 862, 358, 355, 353, -764, 719, 158, 353, 734, 1113, + 256, 257, 258, 259, 897, 260, 1134, 274, -765, 275, + 1055, 276, 467, 1056, 192, 438, 291, 940, 941, 468, + 354, 415, 805, 355, 354, 800, 1032, 355, 1006, 484, + 217, 218, 219, 815, 1441, 159, 818, 251, 252, 253, + 254, 255, 1286, 256, 257, 258, 1007, 160, 912, -763, + 284, 284, -763, 1442, 277, 1444, 10, 871, 11, 1296, + 268, 269, 270, 273, 565, -764, 284, 284, -764, 161, + 469, 356, 407, 162, 1445, 518, 1036, 1037, 1470, -765, + 163, 1309, -765, 406, 220, 407, 1291, 1292, 1009, 147, + 147, 1533, 531, 800, 1038, 147, 221, 222, 164, 447, + 147, 448, 356, 407, 1570, 791, 356, 253, 254, 255, + 6, 256, 257, 258, 512, 628, 513, 629, 268, 630, + 911, 165, 1571, 838, 166, 357, 1139, 167, 407, 1140, + 1141, 603, 407, 223, 224, 278, 225, 605, 606, 1578, + 1033, 226, 474, 227, 1035, 323, 294, 1572, 358, 279, + 1020, 1573, 800, 1039, 280, 836, 357, 407, 1579, 281, + 357, 1615, 631, 168, 1049, 407, 169, 1050, 1051, 170, + 682, 1144, 896, 1304, 407, 407, 1589, 407, 324, 358, + 1616, 171, 361, 358, 1626, 1130, 172, 1307, 883, 884, + 885, 610, 467, 1627, 1628, 173, 1629, 174, 611, 468, + 678, 584, 175, 1131, -101, 1389, -101, 176, -101, 1480, + 1481, 1482, 217, 218, 219, 1034, 596, 325, 597, 467, + 598, 187, 514, 1137, 931, 1042, 468, 188, 1043, 1044, + 287, 288, 289, 747, 1, 2, 3, 748, 604, 1115, + 1002, 1003, 1135, 632, 604, 604, 193, 826, 723, 1495, + 829, 524, 194, 525, 731, 526, 627, 633, 353, 639, + 642, 195, 634, 599, 263, 758, 220, 635, 484, 736, + 272, 737, 738, 739, 789, 147, 299, 683, 221, 222, + 749, 796, 797, 6, 314, 354, 819, 1045, 355, 801, + 315, 147, 1303, 316, 710, 807, 808, -101, 524, -101, + 525, -101, 1005, 830, 1052, 1315, 1316, 732, 353, 317, + 6, 1114, 318, 467, 319, 223, 224, 328, 225, 815, + 468, 390, 818, 226, 392, 227, 474, 1002, 1003, 1293, + 1146, 1147, 750, 290, 393, 354, 1002, 1003, 355, 1385, + 803, 1002, 1003, 1381, 600, 399, 413, 804, 467, 1402, + 1423, 1424, 1425, 445, 709, 468, 470, -279, 601, 471, + 475, 751, 486, 602, 487, 488, 1102, 356, -280, 503, + 415, 469, 787, 1397, 505, 752, 515, 528, 1386, 516, + 753, 604, 520, 533, 582, 754, 774, 1322, 604, 604, + 407, 534, 535, 536, 537, 540, 604, 538, 539, 627, + 541, 542, 604, 604, 584, 547, 543, 1379, 544, 627, + 627, 1383, 545, 627, 415, 546, 776, 356, 548, 551, + 552, 357, 553, 554, 567, 415, 242, 243, 555, 777, + 778, 556, 858, 557, 183, 6, 841, 244, 572, 558, + 559, 560, 561, 562, 358, 779, 568, 467, 1470, 758, + 569, 467, 571, 1319, 468, 758, 573, 575, 468, 731, + 576, 579, 731, 731, 1049, 1050, 1051, 589, 914, 591, + 595, 357, 645, 147, 147, 147, 780, 1028, 615, 781, + 1029, 1030, 782, 648, 6, 758, 684, 758, 184, 687, + 758, 688, 689, 690, 358, 691, 692, 627, 783, 693, + 711, 714, 735, 759, 761, 469, 762, 767, 790, 469, + 784, 185, 732, 768, 769, 732, 732, 770, 793, 1010, + 1011, 771, 802, 147, 785, -281, 800, 1015, 812, 1016, + 822, 944, 832, 467, 951, 834, 1042, 1043, 1044, -371, + 468, 835, 1417, 1419, 1421, 787, 415, 183, 839, 843, + 1408, 709, 844, 1409, 1410, 845, 1411, 1564, 847, 1413, + 1116, 1117, 251, 252, 253, 254, 255, 851, 256, 257, + 258, 217, 218, 219, 852, 1477, 1478, 1479, 1119, 1480, + 1481, 1482, 890, 860, 604, 891, 892, 604, 604, 639, + 893, 894, 627, 467, 415, 415, 895, 898, 787, 900, + 468, 184, 627, 682, 901, 627, 627, 858, 639, 918, + 474, 1596, 1597, 1598, 915, 924, 1484, 917, 921, 639, + 1487, 933, 945, 953, 185, 220, 942, 147, 946, 1063, + 1022, 1012, 1505, 678, 1506, 1013, 1507, 221, 222, 1508, + 1509, 1510, 1100, 1466, 1467, 1468, 1469, 1014, 1017, 1021, + 1060, 1067, 1024, 819, 758, 830, 1470, 1057, 1622, 1069, + 1103, 731, 1074, 1490, 731, 731, 467, 1630, 1106, 1109, + 1110, 1111, 1132, 468, 223, 224, 1122, 225, 6, 1133, + 1136, 1108, 226, 931, 227, 147, 1123, 1150, 627, 147, + 758, 287, 288, 289, 618, 627, 627, 1145, 619, 627, + 1129, 1151, 1322, 415, 287, 288, 289, 904, 1312, 629, + 1283, 905, 228, 1284, 732, 1287, 229, 732, 732, 1289, + 639, 230, 1558, 1288, 469, 1298, 1306, 1305, 1313, 1314, + 1321, 1317, 1318, 1320, 758, 758, 951, -288, 1339, 1323, + 1324, 620, 1334, 64, 1335, 1468, 1469, 1337, 1338, 1336, + 709, 1340, 1342, 1351, 906, 1343, 1470, 1352, 1353, 217, + 218, 219, 1354, 1560, 1344, 1356, 1355, 1357, 1358, 1359, + 1378, 1563, 1382, 1387, 1319, 1565, 1566, 1567, 1568, 1569, + 1388, 1475, 1476, 1477, 1478, 1479, 1394, 1480, 1481, 1482, + 183, 191, 639, 1592, 290, 1400, 1406, 196, 197, 198, + 199, 200, 1426, 1429, 235, 1430, 584, 290, 284, 1431, + 1432, 1427, 1439, 220, 1433, 604, 1434, 1436, 1440, 1391, + 1392, 1443, 621, 415, 415, 221, 222, 1470, 1446, 1447, + 627, 1591, 1448, 1449, 1594, 907, 622, 1485, 1453, 1491, + 1498, 623, 1488, 1561, 184, 1516, 624, 1492, 1517, 908, + 1493, 1496, 1499, 1500, 909, 1501, 361, 1502, 1503, 910, + 1518, 1519, 223, 224, 1504, 225, 1520, 185, 1612, 1521, + 226, 1522, 227, 467, 731, 1523, 1524, 1529, 1562, 1574, + 468, 1475, 1476, 1477, 1478, 1479, 1621, 1480, 1481, 1482, + 1577, 147, 1532, 1462, 1463, 1464, 1465, 1466, 1467, 1468, + 1469, 1556, 1559, 1129, 580, 1576, 1580, 1581, 1582, 230, + 1470, 1583, 1585, 627, 627, 627, 1586, 1599, 1601, 1602, + 1593, 584, 1603, 1604, 1595, 584, 1613, 732, 1600, 1605, + 1606, 469, 1607, 1608, 403, 1609, 1624, 361, 361, 1611, + 1614, 302, 303, 304, 1623, 305, 307, 309, 1625, 1631, + 313, 1632, 1475, 1476, 1477, 1478, 1479, 320, 1480, 1481, + 1482, 1390, 326, 327, 493, 330, 333, 334, 842, 338, + 339, 1401, 1483, 472, 1120, 508, 1575, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 431, 432, 433, 434, 435, 0, 0, 439, - 0, 185, 0, 0, 443, 0, 0, 0, 1043, 1044, - 1045, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1403, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 288, 289, 725, 468, 0, 0, 726, - 493, 0, 0, 467, 0, 0, 0, 1416, 1418, 1420, - 0, 0, 0, 0, 0, 468, 0, 945, 468, 468, - 0, 468, 467, 0, 468, 467, 467, 0, 467, 506, - 0, 467, 0, 0, 0, 566, 0, 0, 0, 0, - 0, 0, 727, 302, 303, 304, 0, 305, 307, 309, - 0, 0, 313, 759, 684, 0, 0, 0, 0, 320, - 0, 0, 788, 284, 326, 327, 759, 330, 333, 334, - 0, 338, 339, 469, 0, 0, 469, 469, 0, 469, - 0, 468, 469, 0, 0, 468, 0, 0, 467, 0, - 0, 565, 467, 6, 0, 290, 1504, 0, 1505, 0, - 1506, 0, 1459, 1507, 1508, 1509, 0, 579, 580, 0, - 0, 0, 0, 1029, 587, 0, 1030, 1031, 0, 0, - 0, 629, 0, 728, 0, 1463, 1464, 1465, 1466, 1467, - 1468, 0, 233, 0, 217, 218, 219, 729, 0, 469, - 1469, 0, 730, 469, 0, 0, 759, 586, 0, 0, - 0, 0, 0, 0, 952, 271, 1511, 1512, 716, 1513, - 0, 1514, 0, 0, 0, 734, 1467, 1468, 0, 0, - 0, 640, 0, 0, 0, 298, 0, 1469, 1459, 0, - 0, 0, 0, 0, 0, 147, 468, 0, 220, 0, - 0, 0, 764, 467, 765, 322, 766, 0, 0, 0, - 221, 222, 0, 0, 0, 337, 1319, 0, 1553, 0, - 0, 0, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 723, - 0, 0, 0, 0, 0, 0, 0, 0, 1469, 747, - 0, 0, 0, 0, 0, 307, 313, 223, 224, 0, - 225, 494, 0, 0, 469, 226, 586, 227, 0, 0, - 391, 0, 0, 394, 586, 0, 0, 468, 586, 586, - 586, 586, 586, 0, 467, 1474, 1475, 1476, 1477, 1478, - 0, 1479, 1480, 1481, 579, 1108, 0, 0, 0, 582, - 0, 0, 0, 0, 230, 0, 0, 0, 0, 789, - 0, 237, 238, 239, 240, 241, 242, 243, 793, 409, - 410, 0, 1474, 1475, 1476, 1477, 1478, 244, 1479, 1480, - 1481, 0, 0, 0, 586, 469, 0, 586, 858, 0, - 0, 0, 0, 788, 788, 788, 436, 0, 0, 0, - 0, 0, 1616, 1617, 1618, 0, 1619, 0, 0, 0, - 455, 456, 0, 0, 1312, 446, 0, 838, 1471, 1472, - 1473, 586, 0, 1474, 1475, 1476, 1477, 1478, 0, 1479, - 1480, 1481, 0, 485, 0, 487, 0, 0, 0, 586, - 788, 0, 854, 855, 856, 857, 0, 860, 0, 788, - 0, 0, 497, 0, 498, 499, 500, 501, 502, 503, - 0, 0, 0, 0, 1377, 0, 0, 478, 479, 480, - 0, 0, 0, 0, 0, 0, 513, 0, 0, 0, - 0, 0, 0, 0, 0, 521, 0, 0, 524, 0, - 0, 0, 0, 650, 0, 0, 532, 246, 247, 248, + 429, 430, 431, 432, 433, 434, 435, 899, 1399, 439, + 1077, 1360, 510, 1428, 443, 1393, 0, 0, 0, 0, + 0, 581, 1403, 476, 477, 478, 70, 0, 71, 72, + 73, 758, 0, 850, 0, 0, 467, 1588, 0, 1471, + 1472, 1473, 1474, 468, 758, 1475, 1476, 1477, 1478, 1479, + 491, 1480, 1481, 1482, 0, 467, 80, 944, 467, 467, + 0, 467, 468, 0, 467, 468, 468, 0, 468, 0, + 0, 468, 267, 287, 288, 289, 724, 220, 0, 504, + 725, 0, 0, 0, 0, 0, 0, 0, 0, 221, + 222, 0, 82, 83, 683, 0, 0, 0, 0, 0, + 0, 0, 787, 284, 0, 0, 340, 341, 0, 88, + 0, 0, 0, 469, 90, 0, 469, 469, 0, 469, + 0, 467, 469, 726, 758, 467, 481, 224, 468, 225, + 0, 0, 468, 6, 226, 0, 227, 0, 0, 0, + 0, 563, 1460, 307, 313, 0, 0, 342, 0, 492, + 70, 0, 71, 72, 73, 74, 0, 577, 578, 343, + 0, 627, 77, 291, 585, 0, 78, 0, 0, 0, + 0, 0, 0, 79, 0, 0, 290, 0, 0, 469, + 80, 0, 0, 469, 0, 0, 0, 584, 0, 0, + 0, 0, 0, 0, 951, 0, 81, 1512, 1513, 0, + 1514, 0, 1515, 0, 727, 0, 0, 0, 344, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 728, 1460, + 0, 638, 84, 729, 0, 0, 147, 467, 0, 0, + 345, 346, 87, 88, 468, 0, 89, 0, 90, 0, + 0, 0, 0, 347, 240, 241, 242, 243, 0, 1554, + 233, 70, 0, 71, 72, 73, 0, 244, 0, 348, + 0, 238, 239, 240, 241, 242, 243, 722, 0, 0, + 0, 0, 0, 271, 0, 0, 244, 746, 0, 0, + 0, 80, 0, 0, 0, 469, 0, 584, 0, 0, + 0, 0, 0, 298, 0, 584, 0, 267, 467, 584, + 584, 584, 584, 584, 0, 468, 0, 0, 0, 0, + 0, 0, 0, 322, 0, 0, 1108, 82, 83, 0, + 0, 0, 577, 337, 0, 0, 0, 0, 0, 649, + 0, 0, 0, 0, 88, 0, 0, 788, 0, 90, + 0, 0, 0, 0, 0, 214, 792, 238, 239, 240, + 241, 242, 243, 0, 0, 584, 469, 0, 584, 0, + 0, 0, 244, 0, 787, 787, 787, 0, 391, 0, + 0, 394, 0, 1617, 1618, 1619, 0, 1620, 0, 0, 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, - 258, 0, 0, 0, 0, 0, 0, 951, 0, 0, - 0, 220, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 221, 222, 568, 0, 0, 0, 572, - 0, 238, 239, 240, 241, 242, 243, 0, 0, 0, - 0, 233, 0, 0, 0, 0, 244, 1064, 1065, 1066, - 0, 1068, 0, 1070, 0, 1071, 1072, 0, 0, 0, - 483, 224, 640, 225, 0, 0, 594, 595, 226, 0, - 227, 0, 0, 0, 0, 0, 0, 298, 0, 609, - 0, 640, 0, 615, 616, 0, 0, 0, 0, 298, - 0, 0, 640, 0, 0, 0, 1056, 291, 0, 0, - 0, 642, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 298, 0, 0, 1073, 0, 0, 0, 0, 298, - 0, 0, 0, 0, 0, 1078, 1079, 1080, 1081, 1082, - 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, - 1093, 1094, 1095, 1096, 1097, 1376, 0, 1101, 0, 0, - 0, 0, 0, 0, 652, 653, 654, 10, 0, 11, - 655, 656, 0, 0, 761, 0, 849, 247, 248, 249, + 258, 0, 584, 0, 455, 456, 837, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, - 887, 888, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 640, 1377, 0, 1377, 1377, 1377, 1377, - 1377, 658, 1377, 0, 0, 0, 0, 0, 0, 951, - 0, 0, 409, 659, 0, 0, 0, 0, 660, 0, - 0, 796, 0, 0, 799, 800, 661, 662, 775, 795, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 814, 0, 776, 817, 818, 0, 0, 822, - 0, 0, 0, 825, 0, 0, 828, 829, 777, 0, - 663, 824, 664, 1294, 665, 640, 0, 1297, 0, 666, - 0, 778, 779, 667, 0, 0, 668, 0, 0, 298, - 0, 669, 0, 0, 670, 0, 0, 780, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 671, 0, 0, 672, - 673, 0, 0, 0, 674, 0, 850, 0, 781, 0, - 676, 782, 0, 0, 783, 1361, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 1346, 0, 904, 0, 0, - 784, 0, 0, 244, 0, 0, 0, 926, 0, 0, - 929, 930, 785, 933, 0, 0, 0, 0, 1377, 1465, - 1466, 1467, 1468, 0, 0, 0, 786, 0, 0, 940, - 955, 0, 1469, 0, 999, 1000, 0, 0, 0, 0, - 1009, 0, 0, 0, 0, 1451, 0, 1453, 1454, 1455, - 1456, 1457, 0, 1460, 0, 0, 330, 0, 0, 0, + 584, 787, 0, 0, 0, 0, 0, 409, 410, 0, + 787, 853, 854, 855, 856, 0, 859, 0, 0, 0, + 0, 0, 0, 0, 363, 0, 0, 0, 0, 368, + 0, 370, 0, 372, 436, 374, 375, 376, 377, 378, + 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, + 0, 0, 0, 446, 1464, 1465, 1466, 1467, 1468, 1469, + 396, 0, 0, 0, 400, 0, 401, 402, 0, 1470, + 0, 483, 0, 485, 248, 249, 250, 251, 252, 253, + 254, 255, 0, 256, 257, 258, 950, 0, 0, 0, + 495, 0, 496, 497, 498, 499, 500, 501, 0, 0, + 0, 0, 0, 0, 0, 1462, 1463, 1464, 1465, 1466, + 1467, 1468, 1469, 0, 511, 0, 0, 886, 887, 0, + 0, 0, 1470, 519, 0, 0, 522, 1464, 1465, 1466, + 1467, 1468, 1469, 0, 530, 0, 0, 0, 0, 0, + 0, 638, 1470, 0, 0, 0, 444, 0, 0, 0, + 592, 593, 0, 0, 0, 0, 0, 0, 0, 0, + 638, 0, 0, 607, 0, 0, 0, 613, 614, 0, + 0, 638, 0, 566, 0, 0, 0, 570, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, + 1473, 1474, 0, 1073, 1475, 1476, 1477, 1478, 1479, 0, + 1480, 1481, 1482, 0, 1078, 1079, 1080, 1081, 1082, 1083, + 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, + 1094, 1095, 1096, 1097, 0, 298, 1101, 0, 1377, 0, 0, 0, 0, 0, 0, 0, 0, 298, 0, 0, - 0, 1377, 1024, 0, 1377, 1027, 1028, 0, 236, 237, - 238, 239, 240, 241, 242, 243, 0, 0, 0, 0, - 0, 0, 0, 0, 1042, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 1048, 1049, 0, 0, 0, 0, - 0, 0, 0, 0, 1055, 0, 0, 0, 697, 0, - 0, 0, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 0, 256, 257, 258, 698, 0, 1533, - 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, - 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1474, 1475, 1476, - 1477, 1478, 0, 1479, 1480, 1481, 7, 8, 9, 10, - 0, 11, 12, 13, 1098, 0, 0, 0, 1449, 0, - 0, 0, 0, 0, 0, 0, 0, 1124, 0, 0, - 1125, 1126, 0, 1121, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1396, 1138, 0, 0, 0, - 0, 0, 0, 1363, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 1364, 256, 257, 258, 0, - 1365, 0, 590, 0, 0, 1285, 0, 1458, 23, 24, - 0, 0, 0, 0, 26, 0, 0, 0, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 1346, 0, 1609, 0, 0, 1434, 0, - 0, 0, 0, 0, 45, 0, 46, 0, 1290, 0, - 0, 1366, 0, 0, 0, 1367, 0, 0, 1368, 0, - 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1310, 1311, 1524, 1525, - 1526, 1527, 1308, 1529, 0, 1530, 951, 0, 1369, 0, - 0, 1370, 1371, 1372, 0, 0, 1373, 0, 1450, 62, - 0, 0, 1375, 0, 0, 0, 1152, 1153, 1154, 1155, + 0, 1471, 1472, 1473, 1474, 0, 1376, 1475, 1476, 1477, + 1478, 1479, 0, 1480, 1481, 1482, 0, 298, 0, 0, + 0, 0, 1472, 1473, 1474, 298, 564, 1475, 1476, 1477, + 1478, 1479, 638, 1480, 1481, 1482, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 950, 0, + 651, 652, 653, 10, 0, 11, 654, 655, 0, 0, + 0, 0, 848, 795, 0, 0, 798, 799, 0, 0, + 760, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 813, 0, 0, 816, 817, 0, + 0, 821, 0, 330, 0, 824, 0, 657, 827, 828, + 0, 0, 1294, 0, 638, 0, 1297, 0, 0, 658, + 0, 0, 0, 0, 659, 0, 0, 0, 409, 0, + 0, 0, 660, 661, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 0, 0, 794, 0, 0, 0, 0, + 0, 244, 0, 0, 0, 0, 0, 715, 0, 0, + 0, 0, 0, 0, 733, 0, 662, 1325, 663, 0, + 664, 0, 0, 0, 0, 665, 0, 823, 0, 666, + 0, 0, 667, 0, 0, 1346, 0, 668, 833, 0, + 669, 763, 0, 764, 0, 765, 298, 0, 0, 0, + 925, 0, 0, 928, 929, 0, 932, 0, 0, 0, + 0, 0, 670, 0, 0, 671, 672, 0, 0, 0, + 673, 0, 849, 954, 0, 0, 675, 998, 999, 0, + 0, 0, 0, 1008, 0, 0, 0, 0, 1377, 0, + 1377, 1377, 1377, 1377, 1377, 0, 1377, 0, 0, 0, + 0, 0, 0, 0, 903, 0, 1452, 0, 1454, 1455, + 1456, 1457, 1458, 0, 1461, 1023, 0, 0, 1026, 1027, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 0, 256, 257, 258, 0, 939, 1041, 588, 0, + 0, 0, 0, 0, 0, 0, 0, 1047, 1048, 0, + 0, 0, 0, 0, 0, 0, 0, 1054, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 857, 0, + 0, 0, 0, 0, 298, 0, 0, 0, 0, 0, + 0, 0, 0, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, + 1377, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, + 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 0, + 0, 0, 0, 0, 0, 956, 0, 0, 0, 0, + 1124, 0, 0, 1125, 1126, 957, 958, 959, 960, 961, + 962, 963, 964, 0, 0, 1396, 0, 0, 0, 1138, + 0, 0, 965, 1377, 966, 967, 968, 969, 970, 971, + 972, 973, 974, 975, 976, 977, 0, 0, 1464, 1465, + 1466, 1467, 1468, 1469, 0, 0, 0, 0, 1285, 0, + 0, 1098, 0, 1470, 978, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, + 1121, 0, 244, 1346, 0, 0, 1377, 0, 1435, 1377, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1290, 0, 0, 0, 0, 0, 1610, 979, 0, + 0, 0, 0, 0, 0, 0, 0, 1064, 1065, 1066, + 0, 1068, 0, 1070, 0, 1071, 1072, 0, 0, 1310, + 1311, 0, 0, 0, 0, 0, 950, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 980, 0, 0, + 981, 0, 982, 983, 984, 985, 986, 987, 988, 989, + 990, 991, 992, 0, 993, 994, 0, 0, 995, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, + 9, 10, 0, 11, 12, 13, 201, 68, 1475, 1476, + 1477, 1478, 1479, 0, 1480, 1481, 1482, 0, 0, 1308, + 0, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 0, 256, 257, 258, 0, 0, 0, 1349, + 0, 0, 0, 1555, 0, 15, 69, 0, 1362, 202, + 0, 203, 204, 205, 74, 75, 0, 20, 76, 0, + 0, 206, 22, 0, 0, 78, 0, 1341, 0, 0, + 23, 24, 207, 476, 477, 478, 26, 0, 0, 208, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 209, 0, 0, 0, 0, + 0, 0, 0, 774, 44, 0, 45, 0, 46, 0, + 479, 0, 480, 47, 0, 210, 211, 50, 0, 775, + 51, 84, 0, 0, 0, 52, 0, 220, 53, 85, + 86, 87, 212, 776, 0, 89, 0, 213, 0, 221, + 222, 0, 0, 0, 0, 939, 777, 778, 0, 0, + 56, 0, 0, 57, 58, 59, 0, 0, 60, 0, + 61, 62, 779, 0, 63, 217, 218, 219, 0, 0, + 0, 0, 0, 0, 0, 0, 481, 224, 70, 225, + 71, 72, 73, 0, 226, 0, 227, 0, 0, 0, + 266, 0, 0, 780, 0, 0, 781, 0, 0, 782, + 0, 0, 0, 0, 0, 0, 0, 0, 80, 0, + 482, 0, 1398, 0, 0, 783, 1361, 0, 0, 220, + 0, 0, 0, 0, 267, 0, 0, 784, 0, 0, + 0, 221, 222, 0, 0, 0, 0, 0, 1407, 0, + 0, 785, 0, 0, 82, 83, 1412, 0, 0, 1414, + 7, 8, 9, 10, 0, 11, 12, 13, 489, 0, + 0, 88, 0, 0, 0, 0, 90, 0, 223, 224, + 0, 225, 0, 0, 0, 0, 226, 0, 227, 0, + 0, 0, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 0, 0, 0, 0, 0, 0, 15, 342, 244, + 0, 202, 321, 203, 204, 205, 74, 0, 0, 20, + 343, 0, 1489, 206, 22, 0, 0, 78, 0, 0, + 0, 0, 23, 24, 207, 1497, 0, 1422, 26, 0, + 0, 208, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 209, 0, 0, + 0, 0, 0, 0, 0, 0, 44, 0, 45, 0, + 46, 0, 0, 0, 0, 47, 0, 210, 211, 50, + 0, 0, 51, 84, 0, 0, 0, 52, 0, 0, + 53, 345, 346, 87, 212, 0, 0, 89, 0, 213, + 0, 0, 0, 340, 341, 0, 0, 0, 0, 0, + 0, 0, 56, 0, 306, 57, 58, 59, 0, 0, + 60, 0, 61, 62, 0, 0, 63, 0, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, + 256, 257, 258, 0, 342, 0, 1590, 70, 0, 71, + 72, 73, 74, 0, 0, 105, 343, 106, 0, 77, + 0, 108, 0, 78, 0, 0, 0, 0, 109, 110, + 79, 0, 0, 0, 0, 0, 0, 80, 1459, 112, + 300, 114, 0, 0, 0, 0, 0, 0, 1552, 0, + 0, 301, 0, 81, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 344, 238, 239, 240, 241, + 242, 243, 0, 82, 83, 124, 0, 0, 0, 84, + 0, 244, 0, 0, 0, 129, 0, 345, 346, 87, + 88, 130, 0, 89, 0, 90, 133, 1584, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 136, 0, 137, + 1525, 1526, 1527, 1528, 0, 1530, 348, 1531, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 0, + 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, + 1173, 0, 0, 0, 0, 0, 0, 0, 1174, 1175, + 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, + 1186, 1187, 1188, 1189, 1190, 1191, 1192, 0, 0, 1193, + 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, + 1204, 1205, 1206, 1207, 0, 1208, 0, 1209, 1210, 1211, + 1212, 1213, 1214, 1215, 1216, 1217, 0, 1218, 1219, 1220, + 0, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 0, 256, 257, 258, 1221, 0, 0, 0, 0, + 0, 0, 1222, 1223, 1224, 0, 1225, 1226, 1227, 1228, + 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, + 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 0, + 0, 0, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, + 1276, 1277, 1278, 1494, 1279, 1280, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 0, 1163, 1164, - 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1341, + 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 0, 0, 0, 0, 0, 0, 0, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 0, 0, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, - 1206, 1207, 1554, 1208, 1362, 1209, 1210, 1211, 1212, 1213, + 1206, 1207, 0, 1208, 0, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 0, 1218, 1219, 1220, 0, 0, - 0, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 0, 0, 0, 1221, 0, 0, 0, 940, 244, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 1222, 1223, 1224, 0, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 0, 0, 0, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, - 1278, 1493, 1279, 1280, 0, 0, 0, 0, 0, 0, - 0, 0, 105, 0, 106, 0, 0, 0, 108, 0, - 0, 0, 0, 0, 0, 109, 110, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 112, 300, 114, 0, - 0, 0, 0, 0, 7, 8, 9, 10, 301, 11, - 12, 13, 14, 0, 0, 0, 189, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 1398, 256, - 257, 258, 124, 312, 0, 1349, 0, 0, 0, 0, - 0, 0, 129, 0, 0, 0, 0, 0, 130, 0, - 0, 15, 0, 133, 1407, 16, 0, 17, 18, 19, - 0, 0, 1412, 20, 136, 1414, 137, 21, 22, 0, - 0, 0, 0, 0, 0, 0, 23, 24, 25, 1421, + 1278, 0, 1279, 1280, 7, 8, 9, 10, 0, 11, + 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 236, 237, 238, 239, 240, + 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 244, 0, 0, 16, 0, 17, 18, 19, + 0, 0, 0, 20, 0, 743, 744, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, - 0, 48, 49, 50, 0, 0, 51, 0, 1488, 0, - 0, 52, 0, 0, 53, 0, 0, 0, 54, 0, - 0, 1496, 0, 55, 0, 0, 0, 0, 0, 0, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, + 8, 9, 10, 55, 11, 12, 13, 14, 745, 0, + 0, 189, 0, 0, 0, 0, 56, 0, 0, 57, + 58, 59, 0, 0, 60, 0, 61, 62, 0, 586, + 63, 245, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 0, 256, 257, 258, 15, 0, 0, 0, + 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, + 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, + 0, 190, 62, 0, 0, 63, 237, 238, 239, 240, + 241, 242, 243, 0, 0, 0, 0, 0, 0, 0, + 0, 15, 244, 0, 0, 16, 0, 17, 18, 19, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, + 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, - 58, 59, 0, 0, 60, 0, 190, 62, 0, 0, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 1152, - 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, - 0, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, - 1172, 1173, 0, 0, 0, 0, 0, 0, 0, 1174, - 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, - 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 0, 1551, - 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, - 1203, 1204, 1205, 1206, 1207, 0, 1208, 0, 1209, 1210, - 1211, 1212, 1213, 1214, 1215, 1216, 1217, 0, 1218, 1219, - 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1221, 0, 1583, 0, - 0, 0, 0, 1222, 1223, 1224, 0, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, - 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, - 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 0, 0, 0, 1258, 1259, 1260, 1261, 1262, 1263, 1264, - 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - 1275, 1276, 1277, 1278, 0, 1279, 1280, 7, 8, 9, - 10, 0, 11, 12, 13, 201, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, + 58, 59, 0, 0, 60, 0, 61, 62, 437, 0, + 63, 0, 246, 247, 248, 249, 250, 251, 252, 253, + 254, 255, 0, 256, 257, 258, 15, 442, 0, 0, + 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, + 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, + 0, 61, 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, - 0, 0, 0, 0, 15, 69, 244, 0, 202, 0, - 203, 204, 205, 74, 75, 0, 20, 76, 0, 0, - 206, 22, 0, 0, 78, 0, 0, 0, 0, 23, - 24, 207, 0, 0, 0, 26, 0, 0, 208, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 210, 211, 50, 0, 0, 51, - 84, 0, 0, 0, 52, 0, 0, 53, 85, 86, - 87, 212, 0, 0, 89, 0, 213, 7, 8, 9, - 10, 0, 11, 12, 13, 491, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 0, 63, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, - 0, 0, 0, 1589, 15, 342, 0, 0, 202, 0, - 203, 204, 205, 74, 0, 0, 20, 343, 0, 0, - 206, 22, 0, 0, 78, 0, 0, 0, 0, 23, - 24, 207, 0, 0, 0, 26, 0, 0, 208, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 209, 70, 0, 71, 72, 73, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 210, 211, 50, 0, 0, 51, - 84, 0, 0, 0, 52, 80, 0, 53, 345, 346, - 87, 212, 0, 0, 89, 0, 213, 7, 8, 9, - 10, 267, 11, 12, 13, 14, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 82, 83, 63, 0, 0, 0, 0, 236, 237, - 238, 239, 240, 241, 242, 243, 0, 0, 88, 0, - 0, 0, 0, 90, 15, 244, 0, 0, 16, 0, - 17, 18, 19, 0, 0, 0, 20, 0, 744, 745, - 21, 22, 0, 0, 0, 0, 187, 0, 0, 23, - 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, - 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, - 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, - 14, 746, 0, 0, 0, 0, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 588, 63, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 0, 256, 257, 258, 15, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, - 0, 20, 0, 0, 0, 21, 22, 0, 478, 479, - 480, 0, 0, 0, 23, 24, 25, 0, 0, 0, - 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 0, 0, 0, 0, 0, 481, 0, 482, 44, 0, - 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 220, 0, 51, 0, 0, 0, 0, 52, - 0, 0, 53, 0, 221, 222, 54, 7, 8, 9, - 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, - 0, 0, 60, 0, 61, 62, 437, 0, 63, 0, - 0, 483, 224, 0, 225, 0, 0, 0, 0, 226, - 0, 227, 0, 0, 15, 442, 0, 0, 16, 0, - 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, - 21, 22, 0, 0, 0, 484, 0, 0, 0, 23, - 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, - 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, - 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, - 722, 0, 0, 16, 244, 17, 18, 19, 0, 0, - 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, - 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, - 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, - 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, - 0, 0, 60, 0, 61, 62, 0, 0, 63, 0, - 953, 0, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, - 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, - 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, - 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, - 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, - 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, - 14, 948, 0, 0, 0, 0, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, - 0, 0, 0, 16, 244, 17, 18, 19, 0, 0, - 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, - 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, - 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, - 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, - 0, 0, 60, 0, 61, 62, 1099, 0, 63, 1325, - 0, 0, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, - 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, - 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, - 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 0, 0, - 0, 0, 47, 0, 48, 49, 50, 0, 0, 51, - 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, - 0, 54, 7, 8, 9, 10, 55, 11, 12, 13, - 14, 1395, 0, 0, 0, 0, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, - 239, 240, 241, 242, 243, 0, 0, 0, 0, 15, - 0, 0, 0, 16, 244, 17, 18, 19, 0, 0, - 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, - 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 45, 0, 46, 0, 0, 0, 0, 47, 0, 48, - 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, - 0, 0, 53, 0, 0, 0, 54, 7, 8, 9, - 10, 55, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 56, 0, 0, 57, 58, 59, - 0, 0, 60, 0, 61, 62, 1552, 0, 63, 0, - 0, 1347, 0, 245, 246, 247, 248, 249, 250, 251, - 252, 253, 254, 255, 15, 256, 257, 258, 16, 0, - 17, 18, 19, 0, 0, 0, 20, 0, 0, 0, - 21, 22, 0, 0, 0, 0, 0, 0, 0, 23, - 24, 25, 0, 0, 0, 26, 0, 0, 27, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 0, 0, 0, 0, 0, - 0, 0, 0, 44, 0, 45, 0, 46, 217, 218, - 219, 0, 47, 0, 48, 49, 50, 0, 0, 51, - 0, 0, 0, 0, 52, 0, 0, 53, 0, 0, - 0, 54, 652, 653, 654, 10, 55, 11, 655, 656, - 67, 68, 0, 0, 657, 0, 0, 0, 0, 56, - 0, 0, 57, 58, 59, 0, 0, 60, 0, 61, - 62, 0, 220, 63, 236, 237, 238, 239, 240, 241, - 242, 243, 0, 0, 221, 222, 459, 0, 0, 658, - 69, 244, 0, 70, 0, 71, 72, 73, 74, 460, - 0, 659, 76, 0, 0, 77, 660, 0, 0, 78, - 0, 0, 0, 0, 661, 662, 79, 0, 0, 0, - 0, 223, 224, 80, 225, 0, 0, 0, 0, 226, - 0, 227, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 663, 0, - 664, 0, 665, 0, 0, 321, 461, 666, 0, 82, - 83, 667, 0, 0, 668, 84, 0, 0, 0, 669, - 0, 0, 670, 85, 86, 87, 88, 0, 0, 89, - 0, 90, 7, 8, 9, 10, 0, 11, 12, 13, - 14, 0, 0, 0, 671, 0, 0, 672, 673, 0, - 0, 0, 674, 0, 675, 0, 0, 0, 676, 0, - 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, - 255, 0, 256, 257, 258, 576, 0, 0, 0, 15, - 0, 0, 0, 16, 0, 17, 18, 19, 0, 0, - 0, 20, 0, 0, 0, 21, 22, 0, 0, 0, - 0, 0, 0, 0, 23, 24, 25, 0, 0, 0, - 26, 0, 0, 27, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, - 45, 0, 46, 217, 218, 219, 0, 47, 0, 48, - 49, 50, 0, 0, 51, 0, 0, 0, 0, 52, - 0, 0, 53, 0, 0, 0, 54, 652, 653, 654, - 10, 55, 11, 655, 656, 67, 68, 0, 0, 1076, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 60, 0, 61, 62, 0, 220, 63, 236, - 237, 238, 239, 240, 241, 242, 243, 0, 0, 221, - 222, 459, 0, 0, 658, 69, 244, 0, 70, 0, - 71, 72, 73, 74, 460, 0, 659, 76, 0, 0, - 77, 660, 0, 0, 78, 0, 0, 0, 0, 661, - 662, 79, 0, 0, 0, 0, 223, 224, 80, 225, - 0, 0, 0, 0, 226, 0, 227, 0, 0, 0, - 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 663, 0, 664, 0, 665, 0, 0, - 496, 461, 666, 0, 82, 83, 667, 0, 0, 668, - 84, 0, 0, 0, 669, 0, 0, 670, 85, 86, - 87, 88, 0, 0, 89, 0, 90, 7, 8, 9, - 10, 0, 11, 12, 13, 0, 0, 0, 0, 671, - 0, 0, 672, 673, 0, 0, 0, 674, 0, 675, - 0, 0, 0, 676, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, - 592, 0, 0, 0, 1363, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1364, 0, 0, 0, - 0, 1365, 0, 0, 0, 0, 0, 0, 0, 23, - 24, 0, 0, 0, 0, 26, 0, 0, 0, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 0, 0, 0, 7, 8, 9, - 10, 0, 11, 12, 13, 45, 0, 46, 0, 0, - 0, 0, 1366, 0, 0, 0, 1367, 0, 0, 1368, - 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, - 0, 0, 0, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 0, 0, 0, 1363, 0, 0, 0, 0, 1369, - 1469, 0, 1370, 1371, 1372, 0, 1364, 1373, 0, 1374, - 62, 1365, 0, 1375, 0, 0, 0, 0, 0, 23, - 24, 0, 0, 0, 0, 26, 0, 0, 0, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 46, 0, 0, - 0, 0, 1366, 0, 0, 957, 1367, 0, 0, 1368, - 0, 0, 0, 0, 52, 958, 959, 960, 961, 962, - 963, 964, 965, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 966, 0, 967, 968, 969, 970, 971, 972, - 973, 974, 975, 976, 977, 978, 0, 1373, 0, 1374, - 62, 0, 0, 1375, 0, 0, 0, 0, 0, 1470, - 1471, 1472, 1473, 0, 979, 1474, 1475, 1476, 1477, 1478, - 0, 1479, 1480, 1481, 0, 0, 0, 340, 341, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1463, 1464, 1465, 1466, 1467, 1468, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1469, 0, 980, 240, - 241, 242, 243, 0, 0, 0, 0, 0, 342, 0, - 0, 70, 244, 71, 72, 73, 74, 0, 0, 0, - 343, 0, 0, 77, 0, 0, 0, 78, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 981, 0, 0, - 982, 80, 983, 984, 985, 986, 987, 988, 989, 990, - 991, 992, 993, 0, 994, 995, 0, 81, 996, 340, - 341, 0, 0, 0, 0, 0, 0, 0, 0, 344, - 0, 0, 0, 0, 0, 0, 0, 82, 83, 0, - 0, 0, 0, 84, 70, 0, 71, 72, 73, 0, - 0, 345, 346, 87, 88, 0, 266, 89, 0, 90, - 342, 0, 0, 70, 347, 71, 72, 73, 74, 474, - 0, 0, 343, 0, 80, 77, 1471, 1472, 1473, 78, - 348, 1474, 1475, 1476, 1477, 1478, 79, 1479, 1480, 1481, - 267, 0, 0, 80, 0, 249, 250, 251, 252, 253, - 254, 255, 0, 256, 257, 258, 508, 509, 0, 81, - 82, 83, 70, 0, 71, 72, 73, 0, 0, 0, - 0, 344, 0, 0, 0, 0, 0, 88, 0, 82, - 83, 0, 90, 0, 0, 84, 0, 0, 0, 0, - 0, 0, 80, 345, 346, 87, 88, 342, 0, 89, - 70, 90, 71, 72, 73, 74, 0, 0, 267, 343, - 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, - 0, 0, 348, 79, 0, 0, 0, 0, 82, 83, - 80, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 0, 0, 0, 0, 0, 88, 81, 0, 244, 0, - 90, 0, 0, 217, 218, 219, 0, 0, 344, 0, - 0, 0, 0, 0, 0, 0, 82, 83, 0, 0, - 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, - 345, 346, 87, 88, 0, 0, 89, 0, 90, 236, + 0, 15, 721, 0, 0, 16, 244, 17, 18, 19, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, + 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, + 58, 59, 0, 0, 60, 0, 61, 62, 0, 0, + 63, 0, 952, 0, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 15, 256, 257, 258, + 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, + 12, 13, 14, 947, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, + 0, 61, 62, 0, 0, 63, 0, 0, 0, 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 244, 220, 0, 348, - 236, 237, 238, 239, 240, 241, 242, 243, 0, 221, - 222, 0, 0, 0, 0, 0, 0, 244, 236, 237, - 238, 239, 240, 241, 242, 243, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 244, 236, 237, 238, 239, - 240, 241, 242, 243, 0, 0, 223, 224, 0, 225, - 0, 0, 0, 244, 226, 0, 227, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, - 257, 258, 686, 236, 237, 238, 239, 240, 241, 242, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 236, 237, 238, 239, 240, 241, 242, 243, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, - 0, 0, 0, 0, 0, 245, 246, 247, 248, 249, - 250, 251, 252, 253, 254, 255, 0, 256, 257, 258, - 767, 0, 0, 0, 0, 0, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, - 258, 923, 0, 0, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, 255, 0, 256, 257, 258, 1026, - 0, 0, 245, 246, 247, 248, 249, 250, 251, 252, - 253, 254, 255, 0, 256, 257, 258, 1058, 864, 865, - 866, 867, 868, 869, 870, 871, 70, 0, 71, 72, - 73, 0, 0, 0, 0, 872, 0, 0, 0, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 0, 256, 257, 258, 1345, 0, 80, 245, 246, 247, - 248, 249, 250, 251, 252, 253, 254, 255, -2, 256, - 257, 258, 267, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 238, 239, 240, 241, 242, 243, - 0, 0, 82, 83, 0, 0, 0, 0, 0, 244, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, - 0, 0, 0, 0, 90, 105, 0, 106, 0, 0, - 107, 108, 0, 0, 0, 0, 0, 0, 109, 110, - 238, 239, 240, 241, 242, 243, 0, 111, 0, 112, - 113, 114, 115, 0, 0, 244, 116, 0, 0, 0, - 0, 117, 0, 0, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 0, 884, 885, 886, 118, - 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, - 0, 0, 126, 127, 128, 129, 0, 0, 0, 0, - 0, 130, 131, 67, 68, 132, 133, 457, 0, 458, - 134, 0, 0, 0, 0, 0, 135, 136, 0, 137, - 0, 0, 0, 0, 0, 0, 0, 138, 0, 246, - 247, 248, 249, 250, 251, 252, 253, 254, 255, 459, - 256, 257, 258, 69, 0, 0, 70, 0, 71, 72, - 73, 74, 460, 0, 0, 76, 0, 0, 77, 0, - 0, 0, 78, 0, 0, 0, 0, 0, 0, 79, - 238, 239, 240, 241, 242, 243, 80, 248, 249, 250, - 251, 252, 253, 254, 255, 244, 256, 257, 258, 217, - 218, 219, 81, 1463, 1464, 1465, 1466, 1467, 1468, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1469, 461, - 0, 0, 82, 83, 0, 0, 0, 0, 84, 0, - 1463, 1464, 1465, 1466, 1467, 1468, 85, 86, 87, 88, - 0, 0, 89, 0, 90, 1469, 0, 0, 0, 0, - 0, 0, 0, 220, 0, 0, 0, 462, 0, 0, - 0, 0, 463, 0, 0, 221, 222, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, - 0, 0, 223, 224, 0, 225, 0, 0, 0, 0, - 226, 0, 227, 0, 306, 0, 0, 0, 249, 250, - 251, 252, 253, 254, 255, 0, 256, 257, 258, 0, - 0, 0, 0, 0, 0, 217, 218, 219, 0, 1472, - 1473, 306, 0, 1474, 1475, 1476, 1477, 1478, 0, 1479, - 1480, 1481, 0, 0, 0, 105, 0, 106, 0, 0, - 0, 108, 0, 0, 0, 0, 0, 1473, 109, 110, - 1474, 1475, 1476, 1477, 1478, 0, 1479, 1480, 1481, 112, - 113, 114, 105, 0, 106, 0, 0, 0, 108, 220, - 0, 301, 0, 0, 0, 109, 110, 0, 0, 0, - 0, 221, 222, 0, 0, 0, 112, 300, 114, 0, - 0, 0, 0, 0, 0, 124, 0, 0, 301, 0, - 0, 699, 700, 701, 0, 129, 0, 0, 0, 0, - 0, 130, 0, 0, 0, 132, 133, 0, 223, 1326, - 1327, 1328, 124, 0, 0, 0, 226, 136, 227, 137, - 0, 0, 129, 699, 700, 701, 0, 0, 130, 1329, - 0, 0, 0, 133, 1330, 70, 0, 71, 72, 73, - 702, 703, 0, 0, 136, 0, 137, 77, 0, 0, - 0, 0, 0, 217, 218, 219, 0, 0, 79, 0, - 0, 0, 0, 0, 0, 80, 0, 70, 0, 71, - 72, 73, 0, 0, 0, 0, 0, 0, 0, 77, + 0, 15, 0, 0, 0, 16, 244, 17, 18, 19, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, + 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, + 58, 59, 0, 0, 60, 0, 61, 62, 1099, 0, + 63, 0, 0, 1347, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 15, 256, 257, 258, + 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, + 0, 0, 0, 0, 47, 0, 48, 49, 50, 0, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 7, 8, 9, 10, 55, 11, + 12, 13, 14, 1395, 0, 0, 0, 0, 0, 0, + 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, + 0, 61, 62, 0, 0, 63, 0, 0, 0, 236, + 237, 238, 239, 240, 241, 242, 243, 0, 0, 0, + 0, 15, 0, 0, 0, 16, 244, 17, 18, 19, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 45, 0, 46, 0, 0, 0, 0, 47, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 7, + 8, 9, 10, 55, 11, 12, 13, 14, 0, 0, + 0, 0, 0, 0, 0, 0, 56, 0, 0, 57, + 58, 59, 0, 0, 60, 0, 61, 62, 1553, 0, + 63, 1415, 0, 0, 0, 245, 246, 247, 248, 249, + 250, 251, 252, 253, 254, 255, 15, 256, 257, 258, + 16, 0, 17, 18, 19, 0, 0, 0, 20, 0, + 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, + 0, 23, 24, 25, 0, 0, 0, 26, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 0, 0, 0, + 0, 0, 0, 0, 0, 44, 0, 45, 0, 46, + 217, 218, 219, 0, 47, 0, 48, 49, 50, 0, + 0, 51, 0, 0, 0, 0, 52, 0, 0, 53, + 0, 0, 0, 54, 651, 652, 653, 10, 55, 11, + 654, 655, 67, 68, 0, 0, 656, 0, 0, 0, + 0, 56, 0, 0, 57, 58, 59, 0, 0, 60, + 0, 61, 62, 0, 220, 63, 236, 237, 238, 239, + 240, 241, 242, 243, 0, 0, 221, 222, 459, 0, + 0, 657, 69, 244, 0, 70, 0, 71, 72, 73, + 74, 460, 0, 658, 76, 0, 0, 77, 659, 0, + 0, 78, 0, 0, 0, 0, 660, 661, 79, 0, + 0, 0, 0, 223, 224, 80, 225, 0, 0, 0, + 0, 226, 0, 227, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, - 79, 0, 67, 68, 0, 0, 457, 80, 0, 0, - 0, 82, 83, 0, 0, 0, 0, 220, 0, 0, - 0, 0, 0, 81, 0, 704, 0, 0, 88, 221, - 222, 89, 0, 90, 0, 0, 0, 0, 459, 0, - 0, 0, 69, 82, 83, 70, 0, 71, 72, 73, - 74, 460, 0, 0, 76, 0, 0, 77, 0, 0, - 88, 78, 0, 89, 0, 90, 223, 224, 79, 225, - 0, 0, 0, 0, 226, 80, 227, 0, 0, 0, - 0, 0, 0, 0, 217, 218, 219, 1329, 0, 0, - 0, 81, 1415, 0, 67, 68, 0, 0, 811, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 461, 0, - 0, 82, 83, 0, 0, 0, 0, 84, 0, 0, - 0, 0, 0, 67, 68, 85, 86, 87, 88, 0, - 459, 89, 0, 90, 69, 0, 0, 70, 220, 71, - 72, 73, 74, 460, 0, 0, 76, 0, 0, 77, - 221, 222, 0, 78, 0, 0, 0, 0, 0, 459, - 79, 0, 0, 69, 0, 0, 70, 80, 71, 72, - 73, 74, 460, 0, 0, 76, 0, 0, 77, 0, - 0, 0, 78, 81, 0, 0, 0, 223, 224, 79, - 225, 0, 0, 0, 0, 226, 80, 227, 0, 0, - 461, 0, 0, 82, 83, 0, 0, 0, 1329, 84, - 67, 68, 81, 1417, 0, 0, 0, 85, 86, 87, - 88, 0, 0, 89, 0, 90, 0, 0, 0, 461, - 0, 0, 82, 83, 67, 68, 0, 0, 84, 0, - 0, 0, 217, 218, 219, 0, 85, 86, 87, 88, - 69, 0, 89, 70, 90, 71, 72, 73, 74, 75, - 0, 0, 76, 0, 70, 77, 71, 72, 73, 78, - 0, 0, 0, 0, 69, 0, 79, 70, 0, 71, - 72, 73, 74, 80, 0, 0, 76, 0, 0, 77, - 0, 0, 0, 78, 80, 0, 220, 0, 0, 81, - 79, 0, 0, 0, 0, 0, 0, 80, 221, 222, - 267, 0, 0, 0, 0, 0, 0, 0, 0, 82, - 83, 67, 68, 81, 0, 84, 0, 0, 0, 0, - 82, 83, 0, 85, 86, 87, 88, 0, 0, 89, - 611, 90, 0, 82, 83, 223, 224, 88, 225, 84, - 67, 0, 90, 226, 0, 227, 0, 85, 86, 87, - 88, 69, 0, 89, 70, 90, 71, 72, 73, 74, - 295, 0, 0, 76, 0, 188, 77, 0, 0, 0, + 662, 0, 663, 0, 664, 0, 0, 494, 461, 665, + 0, 82, 83, 666, 0, 0, 667, 84, 0, 0, + 0, 668, 0, 0, 669, 85, 86, 87, 88, 0, + 0, 89, 0, 90, 7, 8, 9, 10, 0, 11, + 12, 13, 14, 0, 0, 0, 670, 0, 0, 671, + 672, 0, 0, 0, 673, 0, 674, 0, 696, 0, + 675, 0, 245, 246, 247, 248, 249, 250, 251, 252, + 253, 254, 255, 0, 256, 257, 258, 697, 0, 0, + 0, 15, 0, 0, 0, 16, 0, 17, 18, 19, + 0, 0, 0, 20, 0, 0, 0, 21, 22, 0, + 0, 0, 0, 0, 0, 0, 23, 24, 25, 0, + 0, 0, 26, 0, 0, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 0, 45, 0, 46, 217, 218, 219, 0, 47, + 0, 48, 49, 50, 0, 0, 51, 0, 0, 0, + 0, 52, 0, 0, 53, 0, 0, 0, 54, 651, + 652, 653, 10, 55, 11, 654, 655, 67, 68, 0, + 0, 1076, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 60, 0, 61, 62, 0, 220, + 63, 236, 237, 238, 239, 240, 241, 242, 243, 0, + 0, 221, 222, 459, 0, 0, 657, 69, 244, 0, + 70, 0, 71, 72, 73, 74, 460, 0, 658, 76, + 0, 0, 77, 659, 0, 0, 78, 0, 0, 0, + 0, 660, 661, 79, 0, 0, 0, 0, 223, 224, + 80, 225, 0, 0, 0, 0, 226, 0, 227, 0, + 217, 218, 219, 0, 0, 0, 81, 0, 0, 1329, + 0, 0, 0, 0, 1416, 662, 0, 663, 0, 664, + 0, 0, 0, 461, 665, 0, 82, 83, 666, 0, + 0, 667, 84, 0, 0, 0, 668, 0, 0, 669, + 85, 86, 87, 88, 0, 0, 89, 0, 90, 0, + 7, 8, 9, 10, 220, 11, 12, 13, 0, 0, + 0, 670, 1450, 0, 671, 672, 221, 222, 0, 673, + 0, 674, 0, 0, 0, 675, 0, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255, 0, 256, + 257, 258, 574, 0, 0, 0, 0, 1363, 0, 0, + 0, 0, 0, 223, 1326, 1327, 1328, 0, 0, 1364, + 0, 226, 0, 227, 1365, 0, 0, 0, 0, 0, + 0, 0, 23, 24, 1329, 0, 0, 0, 26, 1330, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 7, 8, 9, 10, 0, 11, 12, 13, 45, 0, + 46, 0, 0, 0, 0, 1366, 0, 0, 0, 1367, + 0, 0, 1368, 0, 0, 0, 0, 52, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, + 0, 0, 1369, 0, 0, 1370, 1371, 1372, 0, 1364, + 1373, 0, 1451, 62, 1365, 0, 1375, 0, 0, 0, + 0, 0, 23, 24, 0, 0, 0, 0, 26, 0, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 0, 0, 0, + 7, 8, 9, 10, 0, 11, 12, 13, 45, 0, + 46, 0, 0, 0, 0, 1366, 0, 0, 0, 1367, + 0, 0, 1368, 0, 0, 0, 0, 52, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1363, 0, 0, + 0, 0, 1369, 0, 0, 1370, 1371, 1372, 0, 1364, + 1373, 0, 1374, 62, 1365, 0, 1375, 0, 0, 0, + 0, 0, 23, 24, 0, 0, 0, 0, 26, 0, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 506, 507, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, + 46, 0, 0, 0, 0, 1366, 0, 0, 0, 1367, + 0, 0, 1368, 0, 0, 0, 0, 52, 0, 0, + 236, 237, 238, 239, 240, 241, 242, 243, 342, 0, + 0, 70, 0, 71, 72, 73, 74, 244, 0, 0, + 343, 0, 0, 77, 0, 0, 0, 78, 0, 0, + 1373, 0, 1374, 62, 79, 0, 1375, 0, 0, 0, + 0, 80, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 0, 0, 0, 0, 0, 0, 81, 0, 244, + 0, 217, 218, 219, 0, 0, 0, 0, 0, 344, + 0, 0, 0, 0, 0, 0, 0, 82, 83, 0, + 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, + 0, 345, 346, 87, 88, 0, 0, 89, 0, 90, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 244, 0, 0, + 348, 0, 0, 0, 0, 0, 0, 221, 222, 0, + 0, 0, 0, 0, 0, 0, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, + 258, 590, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 0, 0, 0, 223, 224, 0, 225, 0, 244, + 0, 0, 226, 0, 227, 0, 0, 0, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 295, + 256, 257, 258, 685, 236, 237, 238, 239, 240, 241, + 242, 243, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 244, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 0, 0, 0, 0, 0, 0, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, 0, 256, 257, + 258, 766, 236, 237, 238, 239, 240, 241, 242, 243, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, + 236, 237, 238, 239, 240, 241, 242, 243, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 244, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, + 256, 257, 258, 922, 863, 864, 865, 866, 867, 868, + 869, 870, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 871, 0, 0, 0, 0, 0, 0, 0, 0, + 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, + 255, 0, 256, 257, 258, 1025, 0, 0, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, + 256, 257, 258, 1058, 0, 1463, 1464, 1465, 1466, 1467, + 1468, 1469, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1470, 0, 0, 0, 0, 0, 0, 245, 246, + 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, + 256, 257, 258, 1345, 0, 0, 245, 246, 247, 248, + 249, 250, 251, 252, 253, 254, 255, -2, 256, 257, + 258, 238, 239, 240, 241, 242, 243, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, + 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, + 882, 0, 883, 884, 885, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 0, 106, 0, 0, 107, + 108, 0, 0, 0, 0, 0, 0, 109, 110, 1464, + 1465, 1466, 1467, 1468, 1469, 0, 111, 0, 112, 113, + 114, 115, 0, 0, 1470, 116, 0, 0, 0, 0, + 117, 1472, 1473, 1474, 0, 0, 1475, 1476, 1477, 1478, + 1479, 0, 1480, 1481, 1482, 0, 0, 0, 118, 119, + 120, 121, 122, 123, 124, 125, 217, 218, 219, 0, + 0, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 130, 131, 67, 68, 132, 133, 457, 0, 458, 134, + 0, 0, 0, 0, 0, 135, 136, 0, 137, 249, + 250, 251, 252, 253, 254, 255, 138, 256, 257, 258, + 0, 0, 0, 0, 0, 0, 0, 0, 459, 0, + 220, 0, 69, 0, 0, 70, 0, 71, 72, 73, + 74, 460, 221, 222, 76, 306, 0, 77, 0, 0, + 0, 78, 0, 0, 0, 0, 0, 0, 79, 0, + 0, 0, 0, 0, 0, 80, 1474, 0, 0, 1475, + 1476, 1477, 1478, 1479, 336, 1480, 1481, 1482, 0, 223, + 224, 81, 225, 698, 699, 700, 105, 226, 106, 227, + 0, 0, 108, 217, 218, 219, 0, 0, 461, 109, + 110, 82, 83, 0, 0, 0, 0, 84, 0, 0, + 112, 113, 114, 0, 0, 85, 86, 87, 88, 0, + 0, 89, 301, 90, 0, 0, 0, 70, 0, 71, + 72, 73, 701, 702, 0, 0, 462, 0, 0, 77, + 0, 463, 698, 699, 700, 0, 124, 220, 0, 0, + 79, 0, 0, 0, 0, 0, 129, 80, 0, 221, + 222, 0, 130, 0, 0, 0, 132, 133, 0, 0, + 0, 0, 70, 81, 71, 72, 73, 0, 136, 0, + 137, 67, 68, 0, 266, 457, 70, 0, 71, 72, + 73, 0, 0, 82, 83, 0, 223, 224, 77, 225, + 0, 0, 80, 0, 226, 0, 227, 703, 0, 79, + 88, 0, 0, 89, 0, 90, 80, 459, 267, 0, + 0, 69, 0, 0, 70, 0, 71, 72, 73, 74, + 460, 0, 81, 76, 0, 0, 77, 0, 82, 83, 78, 0, 0, 0, 0, 0, 0, 79, 0, 0, - 69, 0, 0, 70, 80, 71, 72, 73, 74, 519, - 0, 0, 76, 0, 0, 77, 0, 0, 0, 78, - 81, 0, 0, 0, 0, 0, 79, 0, 0, 0, - 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 82, 83, 0, 0, 0, 0, 84, 177, 0, 81, - 0, 0, 0, 0, 85, 86, 87, 88, 0, 0, - 89, 0, 90, 0, 0, 0, 0, 0, 0, 82, - 83, 177, 0, 0, 0, 84, 0, 0, 0, 0, - 0, 0, 0, 85, 86, 87, 88, 178, 0, 89, - 70, 90, 71, 72, 73, 74, 1019, 0, 0, 179, + 0, 0, 82, 83, 80, 88, 0, 0, 0, 0, + 90, 0, 70, 0, 71, 72, 73, 0, 0, 88, + 81, 0, 89, 0, 90, 67, 68, 0, 0, 810, + 0, 0, 0, 176, 0, 0, 0, 461, 0, 0, + 82, 83, 80, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 85, 86, 87, 88, 267, 0, + 89, 459, 90, 67, 68, 69, 0, 0, 70, 0, + 71, 72, 73, 74, 460, 0, 0, 76, 82, 83, + 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 88, 0, 0, 80, 459, + 90, 0, 0, 69, 0, 0, 70, 0, 71, 72, + 73, 74, 460, 0, 81, 76, 0, 0, 77, 0, + 0, 0, 78, 187, 0, 0, 0, 0, 0, 79, + 0, 461, 0, 0, 82, 83, 80, 0, 0, 0, + 84, 0, 0, 0, 0, 0, 0, 0, 85, 86, + 87, 88, 81, 0, 89, 0, 90, 67, 68, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 461, + 0, 0, 82, 83, 0, 0, 0, 0, 84, 0, + 0, 67, 68, 0, 0, 0, 85, 86, 87, 88, + 0, 0, 89, 0, 90, 0, 0, 69, 0, 0, + 70, 0, 71, 72, 73, 74, 75, 0, 0, 76, 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, - 0, 178, 0, 79, 70, 0, 71, 72, 73, 74, - 80, 0, 0, 179, 0, 0, 77, 0, 0, 0, + 0, 69, 0, 79, 70, 0, 71, 72, 73, 74, + 80, 0, 0, 76, 0, 0, 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, 81, 79, 0, 0, 0, 0, 0, 0, 80, 217, 218, 219, 0, 0, - 0, 0, 0, 0, 0, 0, 82, 83, 67, 0, + 0, 0, 0, 0, 0, 0, 82, 83, 67, 68, 81, 0, 84, 0, 0, 0, 0, 0, 0, 0, - 180, 181, 87, 88, 0, 0, 89, 0, 90, 0, - 82, 83, 0, 0, 0, 0, 84, 217, 218, 219, - 0, 0, 0, 0, 180, 181, 87, 88, 69, 220, + 85, 86, 87, 88, 0, 0, 89, 609, 90, 0, + 82, 83, 0, 0, 0, 0, 84, 67, 0, 0, + 0, 0, 0, 0, 85, 86, 87, 88, 69, 220, 89, 70, 90, 71, 72, 73, 74, 0, 0, 0, 76, 221, 222, 77, 0, 0, 0, 78, 0, 0, - 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, - 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 0, 0, 0, 0, 0, 81, 223, 224, - 0, 225, 0, 221, 222, 0, 226, 0, 227, 0, - 0, 0, 70, 0, 71, 72, 73, 82, 83, 1329, - 0, 0, 0, 84, 1419, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 79, 0, 0, 69, 0, 0, + 70, 80, 71, 72, 73, 74, 517, 0, 0, 76, + 0, 0, 77, 0, 0, 0, 78, 81, 223, 224, + 0, 225, 0, 79, 0, 0, 226, 0, 227, 0, + 80, 0, 0, 0, 0, 0, 0, 82, 83, 1329, + 0, 0, 0, 84, 177, 0, 81, 0, 0, 0, 0, 85, 86, 87, 88, 0, 0, 89, 0, 90, - 223, 224, 80, 225, 0, 0, 0, 0, 226, 105, - 227, 106, 0, 0, 107, 108, 0, 0, 267, 0, - 0, 1329, 109, 110, 0, 0, 0, 0, 0, 0, - 0, 111, 0, 112, 113, 114, 115, 0, 82, 83, + 0, 0, 0, 0, 0, 0, 82, 83, 177, 0, + 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, + 85, 86, 87, 88, 178, 0, 89, 70, 90, 71, + 72, 73, 74, 1018, 0, 0, 179, 0, 0, 77, + 0, 0, 0, 78, 0, 0, 0, 0, 178, 0, + 79, 70, 0, 71, 72, 73, 74, 80, 0, 0, + 179, 0, 0, 77, 0, 0, 0, 78, 0, 0, + 0, 0, 0, 81, 79, 0, 0, 0, 0, 0, + 0, 80, 217, 218, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 82, 83, 67, 0, 81, 0, 84, + 0, 0, 0, 0, 0, 0, 0, 180, 181, 87, + 88, 0, 0, 89, 0, 90, 0, 82, 83, 0, + 0, 0, 0, 84, 217, 218, 219, 0, 0, 0, + 0, 180, 181, 87, 88, 69, 220, 89, 70, 90, + 71, 72, 73, 74, 0, 0, 0, 76, 221, 222, + 77, 0, 0, 0, 78, 0, 0, 0, 0, 0, + 0, 79, 0, 0, 0, 0, 0, 0, 80, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 0, 0, 0, 0, 81, 223, 224, 0, 225, 0, + 221, 222, 0, 226, 0, 227, 0, 0, 0, 70, + 0, 71, 72, 73, 82, 83, 1329, 0, 0, 0, + 84, 1418, 0, 0, 0, 0, 0, 0, 85, 86, + 87, 88, 0, 0, 89, 0, 90, 223, 224, 80, + 225, 0, 0, 0, 0, 226, 105, 227, 106, 0, + 0, 107, 108, 0, 0, 267, 0, 0, 1329, 109, + 110, 0, 0, 1420, 0, 0, 0, 0, 111, 0, + 112, 113, 114, 115, 0, 82, 83, 116, 0, 0, + 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 88, 0, 0, 0, 0, 90, 0, 0, + 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, + 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, + 188, 106, 130, 131, 107, 108, 132, 133, 0, 0, + 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, + 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, - 90, 0, 0, 118, 119, 120, 121, 122, 123, 124, + 0, 0, 0, 0, 0, 0, 0, 694, 0, 0, + 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, - 0, 0, 105, 194, 106, 130, 131, 107, 108, 132, + 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 695, 0, 0, 0, 0, 0, 118, 119, 120, 121, + 888, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 889, 0, 0, 0, 0, 0, 118, + 0, 0, 0, 934, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 935, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1059, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, 117, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1059, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1112, 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, 0, 0, 0, - 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1112, 0, 0, 0, 0, 0, 118, 119, + 117, 0, 0, 217, 218, 219, 0, 0, 902, 217, + 218, 219, 1350, 70, 0, 71, 72, 73, 118, 119, 120, 121, 122, 123, 124, 125, 0, 0, 0, 0, - 0, 126, 127, 128, 129, 0, 0, 105, 0, 106, - 130, 131, 107, 108, 132, 133, 0, 0, 0, 134, - 109, 110, 0, 0, 0, 135, 136, 0, 137, 111, - 0, 112, 113, 114, 115, 0, 138, 0, 116, 0, - 0, 0, 0, 117, 0, 0, 217, 218, 219, 0, - 0, 903, 217, 218, 219, 1350, 0, 0, 0, 0, - 0, 118, 119, 120, 121, 122, 123, 124, 125, 0, - 0, 0, 0, 0, 126, 127, 128, 129, 0, 0, - 0, 0, 0, 130, 131, 0, 0, 132, 133, 481, - 0, 482, 134, 0, 0, 0, 0, 0, 135, 136, - 220, 137, 0, 0, 0, 0, 220, 0, 105, 138, - 106, 0, 221, 222, 108, 0, 0, 0, 221, 222, - 0, 109, 110, 0, 0, 0, 0, 0, 1510, 0, - 0, 0, 112, 300, 114, 0, 0, 0, 0, 116, - 0, 0, 0, 0, 301, 0, 0, 0, 0, 223, - 224, 0, 225, 0, 0, 223, 224, 226, 225, 227, - 0, 0, 0, 226, 0, 227, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 129, 0, - 0, 0, 0, 0, 130, 0, 0, 0, 0, 133, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, - 136, 105, 137, 106, 0, 0, 107, 108, 0, 0, - 0, 0, 0, 0, 109, 110, 0, -159, 0, 0, - 0, 0, 0, 111, 0, 112, 113, 114, 115, 0, - 0, 0, 116, 0, 0, 0, 0, 117, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 118, 119, 120, 121, 122, - 123, 124, 125, 0, 0, 0, 0, 0, 126, 127, - 128, 129, 0, 0, 105, 0, 106, 130, 131, 0, - 108, 132, 133, 105, 0, 106, 134, 109, 110, 108, - 0, 0, 135, 136, 0, 137, 109, 110, 112, 113, - 114, 0, 0, 0, 0, 116, 0, 112, 300, 114, - 301, 0, 0, 0, 0, 0, 0, 0, 0, 301, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, - 0, 0, 0, 124, 129, 0, 0, 0, 0, 0, - 130, 0, 0, 129, 132, 133, 0, 0, 0, 130, - 0, 0, 0, 0, 133, 135, 136, 0, 137, 0, - 0, 0, 0, 0, 0, 136, 0, 137 + 0, 126, 127, 128, 129, 0, 0, 0, 0, 0, + 130, 131, 0, 80, 132, 133, 479, 0, 480, 134, + 0, 0, 0, 0, 0, 135, 136, 220, 137, 267, + 0, 0, 0, 220, 0, 0, 138, 0, 0, 221, + 222, 0, 0, 0, 0, 221, 222, 0, 0, 82, + 83, 0, 0, 0, 0, 1511, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 90, 0, 0, 0, 0, 223, 224, 0, 225, + 0, 0, 223, 224, 226, 225, 227, 105, 0, 106, + 226, 0, 227, 108, 194, 0, 105, 0, 106, 0, + 109, 110, 108, 0, 0, 0, 0, 0, 0, 109, + 110, 112, 300, 114, 0, 0, 0, 0, 116, 0, + 112, 113, 114, 301, 0, 0, 0, 116, 0, 0, + 0, 0, 301, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 0, 0, 0, 124, 129, 0, 0, + 0, 0, 0, 130, 0, 0, 129, 0, 133, 0, + 0, 0, 130, 0, 0, 0, 132, 133, 135, 136, + 105, 137, 106, 0, 0, 107, 108, 135, 136, 0, + 137, 0, 0, 109, 110, 0, -159, 0, 0, 0, + 0, 0, 111, 0, 112, 113, 114, 115, 0, 0, + 0, 116, 0, 0, 0, 0, 117, 0, 105, 0, + 106, 0, 0, 0, 108, 0, 0, 0, 0, 0, + 0, 109, 110, 0, 118, 119, 120, 121, 122, 123, + 124, 125, 112, 300, 114, 0, 0, 126, 127, 128, + 129, 0, 0, 0, 301, 0, 130, 131, 0, 0, + 132, 133, 0, 0, 0, 134, 0, 105, 0, 106, + 0, 135, 136, 108, 137, 0, 0, 0, 124, 312, + 109, 110, 0, 0, 0, 0, 0, 0, 129, 0, + 0, 112, 300, 114, 130, 0, 0, 0, 0, 133, + 0, 0, 0, 301, 0, 0, 0, 0, 0, 0, + 136, 0, 137, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 124, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 129, 0, 0, + 0, 0, 0, 130, 0, 0, 0, 0, 133, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, + 0, 137 }; static const yytype_int16 yycheck[] = { - 1, 321, 490, 132, 5, 461, 113, 132, 714, 737, - 142, 92, 948, 663, 299, 510, 75, 757, 184, 477, - 142, 15, 13, 75, 10, 142, 76, 13, 149, 61, - 151, 152, 153, 154, 490, 156, 44, 158, 447, 160, - 148, 583, 724, 76, 148, 727, 728, 76, 76, 334, - 459, 15, 584, 59, 6, 176, 8, 64, 65, 15, - 148, 62, 170, 167, 44, 148, 187, 188, 151, 720, - 810, 0, 481, 194, 195, 148, 81, 82, 83, 167, - 489, 165, 166, 88, 617, 627, 148, 10, 11, 12, - 91, 92, 147, 6, 167, 8, 638, 147, 99, 750, - 150, 752, 166, 167, 755, 167, 98, 108, 109, 110, - 165, 112, 113, 114, 147, 156, 117, 150, 147, 147, - 126, 150, 150, 124, 148, 33, 776, 148, 129, 130, - 148, 132, 133, 134, 142, 136, 137, 148, 10, 11, - 12, 13, 801, 167, 156, 17, 167, 148, 149, 167, - 151, 152, 153, 154, 156, 156, 167, 158, 190, 160, - 147, 820, 142, 619, 147, 33, 149, 299, 151, 160, - 166, 167, 831, 167, 160, 176, 496, 299, 165, 667, - 261, 262, 299, 184, 148, 717, 187, 188, 60, 721, - 113, 357, 148, 194, 195, 148, 277, 278, 330, 148, - 148, 468, 334, 523, 209, 210, 211, 212, 330, 697, - 165, 33, 334, 330, 167, 167, 758, 334, 167, 167, - 166, 167, 281, 148, 148, 257, 44, 150, 165, 281, - 151, 232, 10, 11, 12, 13, 148, 15, 165, 17, - 112, 113, 167, 167, 926, 166, 165, 929, 930, 10, - 11, 12, 160, 161, 162, 167, 164, 165, 166, 148, - 261, 262, 267, 758, 806, 807, 165, 33, 919, 141, - 148, 148, 393, 932, 165, 148, 277, 278, 167, 165, - 281, 33, 60, 155, 165, 286, 291, 148, 160, 167, - 167, 299, 344, 165, 167, 1023, 164, 165, 166, 300, - 301, 293, 760, 64, 955, 306, 167, 147, 165, 149, - 311, 151, 597, 165, 148, 76, 77, 165, 148, 299, - 321, 165, 330, 148, 142, 165, 334, 647, 150, 165, - 10, 11, 12, 167, 165, 113, 13, 167, 15, 148, - 17, 165, 167, 165, 166, 1004, 613, 803, 999, 1000, - 330, 165, 113, 114, 334, 116, 357, 151, 167, 148, - 121, 646, 123, 141, 356, 151, 148, 634, 777, 1019, - 637, 156, 166, 915, 165, 863, 696, 155, 167, 47, - 166, 49, 160, 60, 64, 167, 165, 165, 144, 145, - 146, 54, 393, 56, 57, 58, 76, 77, 164, 165, - 166, 460, 461, 66, 936, 165, 167, 863, 460, 461, - 165, 412, 164, 165, 166, 147, 165, 149, 1146, 151, - 915, 84, 165, 10, 11, 12, 13, 165, 166, 167, - 17, 490, 165, 113, 114, 165, 116, 100, 490, 166, - 167, 121, 709, 123, 165, 166, 167, 165, 449, 13, - 149, 15, 151, 17, 455, 456, 1138, 120, 121, 1395, - 165, 166, 167, 165, 141, 597, 467, 519, 6, 470, - 8, 165, 477, 60, 137, 597, 166, 167, 155, 142, - 597, 299, 165, 160, 165, 1018, 166, 488, 165, 490, - 114, 115, 116, 1035, 1036, 496, 60, 147, 165, 149, - 150, 151, 165, 504, 165, 147, 507, 149, 165, 151, - 165, 166, 330, 147, 646, 167, 334, 147, 148, 520, - 165, 33, 523, 150, 646, 584, 113, 165, 520, 646, - 165, 166, 584, 165, 165, 150, 165, 165, 805, 531, - 165, 150, 534, 150, 165, 13, 165, 15, 165, 17, - 151, 467, 611, 165, 141, 165, 160, 150, 825, 611, - 619, 828, 829, 1303, 10, 11, 12, 619, 155, 166, - 890, 166, 48, 160, 148, 165, 147, 141, 165, 156, - 165, 165, 583, 584, 585, 165, 149, 168, 148, 597, - 157, 155, 60, 594, 167, 167, 160, 167, 167, 1132, - 601, 602, 167, 1136, 157, 167, 167, 148, 609, 167, - 1142, 612, 167, 167, 615, 616, 617, 597, 64, 167, - 167, 622, 623, 148, 167, 626, 627, 167, 167, 15, - 76, 77, 167, 900, 1285, 167, 167, 638, 646, 167, - 167, 908, 157, 675, 911, 167, 647, 648, 160, 161, - 162, 167, 164, 165, 166, 663, 167, 167, 717, 167, - 167, 157, 721, 167, 167, 717, 646, 113, 114, 721, - 116, 165, 1378, 141, 147, 121, 167, 123, 167, 167, - 165, 167, 165, 663, 685, 686, 687, 155, 168, 507, - 150, 148, 160, 167, 148, 696, 612, 165, 148, 148, - 148, 148, 165, 165, 149, 151, 150, 623, 709, 155, - 626, 167, 165, 165, 160, 166, 717, 48, 48, 147, - 721, 160, 714, 724, 165, 167, 727, 728, 720, 167, - 762, 763, 724, 165, 735, 727, 728, 33, 770, 166, - 772, 160, 743, 160, 803, 746, 170, 48, 76, 165, - 156, 803, 156, 156, 156, 760, 757, 758, 750, 167, - 752, 10, 10, 755, 165, 10, 10, 149, 776, 1497, - 10, 10, 901, 157, 148, 167, 901, 149, 167, 597, - 160, 1048, 1314, 160, 167, 1317, 1318, 168, 1320, 149, - 33, 1323, 149, 709, 901, 796, 776, 160, 799, 800, - 801, 167, 167, 804, 863, 806, 807, 1295, 167, 810, - 147, 863, 167, 814, 165, 167, 817, 818, 850, 820, - 166, 166, 165, 167, 1564, 1565, 1566, 150, 646, 165, - 831, 148, 167, 148, 277, 278, 148, 148, 839, 1295, - 841, 148, 151, 167, 160, 663, 165, 167, 1380, 149, - 168, 149, 1384, 885, 168, 1388, 166, 1124, 1125, 1126, - 148, 10, 158, 159, 160, 161, 162, 170, 164, 165, - 166, 1611, 167, 148, 48, 165, 170, 936, 165, 165, - 1620, 165, 147, 165, 936, 703, 148, 170, 804, 890, - 170, 167, 893, 166, 157, 167, 897, 157, 814, 900, - 901, 817, 818, 157, 157, 10, 907, 908, 167, 10, - 911, 912, 149, 10, 915, 158, 159, 160, 161, 162, - 167, 164, 165, 166, 10, 926, 10, 919, 929, 930, - 10, 932, 149, 148, 926, 936, 165, 929, 930, 1020, - 170, 167, 170, 2, 61, 168, 1067, 948, 168, 22, - 23, 15, 165, 1485, 1487, 165, 167, 165, 776, 148, - 33, 167, 1495, 955, 165, 167, 1499, 1500, 1501, 1502, - 1503, 149, 16, 17, 18, 19, 20, 21, 22, 23, - 167, 165, 165, 156, 900, 156, 156, 156, 167, 33, - 167, 50, 908, 168, 147, 911, 168, 56, 57, 58, - 59, 60, 167, 1004, 63, 167, 449, 999, 1000, 167, - 167, 1019, 455, 456, 1334, 167, 167, 1018, 149, 1020, - 167, 10, 1555, 149, 1556, 1558, 1027, 1148, 1149, 10, - 149, 10, 10, 150, 1035, 1036, 149, 17, 155, 1019, - 157, 1042, 159, 149, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 175, 1592, - 167, 165, 15, 148, 167, 167, 1067, 47, 168, 186, - 148, 167, 167, 190, 157, 192, 193, 1610, 157, 167, - 60, 61, 157, 1142, 902, 158, 159, 160, 161, 162, - 1142, 164, 165, 166, 157, 1362, 76, 167, 10, 168, - 167, 1102, 149, 10, 10, 165, 150, 149, 152, 153, - 154, 155, 165, 1114, 158, 159, 160, 161, 162, 165, - 164, 165, 166, 1124, 1125, 1126, 1042, 107, 167, 165, - 110, 1132, 167, 113, 193, 1136, 149, 1138, 167, 149, - 10, 1142, 149, 167, 149, 311, 1138, 1148, 1149, 129, - 1147, 594, 649, 1298, 1378, 272, 902, 703, 601, 602, - 1516, 141, 1295, 1114, 1335, 863, 609, 334, 1258, 667, - 334, -1, 615, 616, -1, 155, 411, 236, 237, 238, + 1, 113, 132, 132, 5, 736, 488, 508, 321, 461, + 92, 947, 756, 713, 475, 142, 75, 719, 468, 299, + 13, 15, 147, 75, 148, 184, 44, 662, 582, 61, + 149, 447, 151, 152, 153, 154, 488, 156, 15, 158, + 165, 160, 142, 459, 98, 142, 170, 749, 6, 751, + 8, 59, 754, 148, 334, 10, 76, 176, 13, 33, + 0, 62, 581, 479, 148, 809, 800, 15, 187, 188, + 156, 487, 167, 148, 148, 194, 195, 165, 148, 33, + 44, 150, 148, 167, 151, 819, 10, 11, 12, 467, + 91, 92, 167, 167, 165, 148, 830, 167, 99, 166, + 615, 167, 148, 44, 151, 165, 625, 108, 109, 110, + 151, 112, 113, 114, 167, 165, 117, 636, 126, 166, + 148, 167, 33, 124, 142, 166, 148, 147, 129, 130, + 150, 132, 133, 134, 723, 136, 137, 726, 727, 167, + 775, 148, 81, 82, 83, 167, 165, 148, 149, 88, + 151, 152, 153, 154, 165, 156, 147, 158, 190, 160, + 167, 611, 716, 165, 166, 617, 720, 160, 156, 277, + 278, 148, 299, 167, 165, 176, 150, 156, 142, 261, + 262, 494, 632, 184, 666, 635, 187, 188, 76, 113, + 33, 165, 166, 194, 195, 277, 278, 931, 357, 299, + 148, 142, 299, 330, 76, 160, 165, 334, 521, 167, + 164, 165, 166, 6, 696, 8, 918, 13, 76, 15, + 148, 17, 281, 151, 156, 257, 150, 64, 65, 281, + 330, 232, 610, 330, 334, 166, 167, 334, 757, 293, + 10, 11, 12, 621, 148, 165, 624, 158, 159, 160, + 161, 162, 954, 164, 165, 166, 757, 165, 708, 147, + 261, 262, 150, 167, 60, 148, 6, 33, 8, 1003, + 209, 210, 211, 212, 393, 147, 277, 278, 150, 165, + 281, 299, 148, 165, 167, 344, 805, 806, 33, 147, + 165, 1022, 150, 167, 64, 148, 998, 999, 759, 300, + 301, 167, 356, 166, 167, 306, 76, 77, 165, 47, + 311, 49, 330, 148, 167, 595, 334, 160, 161, 162, + 321, 164, 165, 166, 149, 13, 151, 15, 267, 17, + 708, 165, 167, 646, 165, 299, 925, 165, 148, 928, + 929, 449, 148, 113, 114, 141, 116, 455, 456, 148, + 802, 121, 291, 123, 804, 150, 357, 167, 299, 155, + 776, 167, 166, 167, 160, 645, 330, 148, 167, 165, + 334, 148, 60, 165, 824, 148, 165, 827, 828, 165, + 862, 935, 695, 1018, 148, 148, 167, 148, 150, 330, + 167, 165, 393, 334, 167, 914, 165, 167, 164, 165, + 166, 460, 461, 167, 167, 165, 167, 165, 460, 461, + 862, 412, 165, 914, 147, 1146, 149, 165, 151, 164, + 165, 166, 10, 11, 12, 803, 13, 150, 15, 488, + 17, 165, 165, 165, 166, 813, 488, 165, 816, 817, + 10, 11, 12, 13, 144, 145, 146, 17, 449, 899, + 165, 166, 167, 141, 455, 456, 165, 907, 517, 1395, + 910, 147, 165, 149, 518, 151, 467, 155, 595, 470, + 471, 165, 160, 60, 165, 529, 64, 165, 532, 147, + 165, 149, 150, 151, 592, 486, 165, 488, 76, 77, + 60, 599, 600, 494, 165, 595, 166, 167, 595, 607, + 165, 502, 1017, 165, 505, 613, 614, 147, 147, 149, + 149, 151, 151, 166, 167, 1034, 1035, 518, 645, 165, + 521, 899, 165, 582, 165, 113, 114, 165, 116, 907, + 582, 165, 910, 121, 165, 123, 475, 165, 166, 167, + 147, 148, 112, 113, 165, 645, 165, 166, 645, 1138, + 609, 165, 166, 167, 141, 165, 151, 609, 617, 1303, + 114, 115, 116, 160, 505, 617, 166, 166, 155, 147, + 150, 141, 48, 160, 148, 165, 889, 595, 166, 147, + 581, 582, 583, 1285, 156, 155, 165, 149, 1142, 165, + 160, 592, 165, 168, 165, 165, 17, 1047, 599, 600, + 148, 167, 167, 167, 167, 157, 607, 167, 167, 610, + 167, 157, 613, 614, 615, 148, 167, 1132, 167, 620, + 621, 1136, 167, 624, 625, 167, 47, 645, 167, 148, + 167, 595, 167, 167, 157, 636, 22, 23, 167, 60, + 61, 167, 674, 167, 662, 646, 647, 33, 157, 167, + 167, 167, 167, 167, 595, 76, 167, 716, 33, 713, + 167, 720, 167, 1041, 716, 719, 167, 167, 720, 723, + 167, 15, 726, 727, 1124, 1125, 1126, 167, 1378, 167, + 165, 645, 165, 684, 685, 686, 107, 795, 167, 110, + 798, 799, 113, 150, 695, 749, 167, 751, 662, 147, + 754, 148, 148, 148, 645, 148, 148, 708, 129, 148, + 165, 149, 165, 150, 165, 716, 165, 167, 48, 720, + 141, 662, 723, 167, 165, 726, 727, 167, 160, 761, + 762, 165, 48, 734, 155, 166, 166, 769, 160, 771, + 160, 742, 170, 802, 745, 168, 1124, 1125, 1126, 147, + 802, 48, 1326, 1327, 1328, 756, 757, 775, 76, 165, + 1314, 702, 156, 1317, 1318, 156, 1320, 1498, 156, 1323, + 900, 900, 158, 159, 160, 161, 162, 156, 164, 165, + 166, 10, 11, 12, 165, 160, 161, 162, 900, 164, + 165, 166, 10, 167, 795, 10, 10, 798, 799, 800, + 10, 10, 803, 862, 805, 806, 10, 149, 809, 157, + 862, 775, 813, 1295, 148, 816, 817, 849, 819, 160, + 759, 1565, 1566, 1567, 149, 160, 1380, 167, 167, 830, + 1384, 167, 149, 160, 775, 64, 168, 838, 149, 840, + 147, 167, 1416, 1295, 1418, 167, 1420, 76, 77, 1423, + 1424, 1425, 884, 20, 21, 22, 23, 167, 167, 165, + 150, 165, 167, 166, 918, 166, 33, 167, 1612, 165, + 148, 925, 167, 1388, 928, 929, 935, 1621, 148, 148, + 148, 148, 167, 935, 113, 114, 151, 116, 889, 165, + 167, 892, 121, 166, 123, 896, 160, 149, 899, 900, + 954, 10, 11, 12, 13, 906, 907, 168, 17, 910, + 911, 149, 1362, 914, 10, 11, 12, 13, 1026, 15, + 168, 17, 151, 148, 925, 10, 155, 928, 929, 170, + 931, 160, 1486, 167, 935, 148, 48, 1019, 170, 165, + 170, 165, 165, 165, 998, 999, 947, 166, 1067, 165, + 170, 60, 147, 2, 148, 22, 23, 157, 157, 167, + 901, 157, 167, 10, 60, 157, 33, 10, 149, 10, + 11, 12, 10, 1488, 167, 10, 167, 10, 10, 149, + 148, 1496, 165, 170, 1362, 1500, 1501, 1502, 1503, 1504, + 167, 158, 159, 160, 161, 162, 168, 164, 165, 166, + 1018, 50, 1003, 1557, 113, 170, 168, 56, 57, 58, + 59, 60, 15, 165, 63, 165, 1017, 113, 1019, 167, + 165, 1334, 148, 64, 167, 1026, 165, 167, 149, 1148, + 1149, 167, 141, 1034, 1035, 76, 77, 33, 165, 156, + 1041, 1556, 156, 156, 1559, 141, 155, 165, 156, 168, + 147, 160, 167, 15, 1018, 149, 165, 168, 10, 155, + 167, 167, 167, 167, 160, 167, 1067, 167, 167, 165, + 149, 10, 113, 114, 167, 116, 10, 1018, 1593, 149, + 121, 149, 123, 1142, 1138, 10, 149, 165, 168, 148, + 1142, 158, 159, 160, 161, 162, 1611, 164, 165, 166, + 148, 1102, 167, 16, 17, 18, 19, 20, 21, 22, + 23, 167, 167, 1114, 155, 167, 167, 157, 157, 160, + 33, 157, 167, 1124, 1125, 1126, 157, 10, 149, 10, + 167, 1132, 10, 149, 168, 1136, 149, 1138, 167, 165, + 165, 1142, 165, 167, 193, 165, 10, 1148, 1149, 167, + 167, 108, 109, 110, 149, 112, 113, 114, 149, 167, + 117, 149, 158, 159, 160, 161, 162, 124, 164, 165, + 166, 1147, 129, 130, 311, 132, 133, 134, 648, 136, + 137, 1298, 1378, 11, 901, 334, 1517, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, - 249, 250, 251, 252, 253, 254, 255, -1, -1, 258, - -1, 1019, -1, -1, 263, -1, -1, -1, 1124, 1125, - 1126, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1304, -1, -1, -1, -1, -1, -1, - -1, -1, 10, 11, 12, 13, 1295, -1, -1, 17, - 299, -1, -1, 1295, -1, -1, -1, 1326, 1327, 1328, - -1, -1, -1, -1, -1, 1314, -1, 1258, 1317, 1318, - -1, 1320, 1314, -1, 1323, 1317, 1318, -1, 1320, 328, - -1, 1323, -1, -1, -1, 392, -1, -1, -1, -1, - -1, -1, 60, 108, 109, 110, -1, 112, 113, 114, - -1, -1, 117, 1285, 1295, -1, -1, -1, -1, 124, - -1, -1, 1303, 1304, 129, 130, 1298, 132, 133, 134, - -1, 136, 137, 1314, -1, -1, 1317, 1318, -1, 1320, - -1, 1380, 1323, -1, -1, 1384, -1, -1, 1380, -1, - -1, 390, 1384, 1334, -1, 113, 1415, -1, 1417, -1, - 1419, -1, 1374, 1422, 1423, 1424, -1, 406, 407, -1, - -1, -1, -1, 796, 413, -1, 799, 800, -1, -1, - -1, 1362, -1, 141, -1, 18, 19, 20, 21, 22, - 23, -1, 62, -1, 10, 11, 12, 155, -1, 1380, - 33, -1, 160, 1384, -1, -1, 1378, 1388, -1, -1, - -1, -1, -1, -1, 1395, 85, 1428, 1429, 515, 1431, - -1, 1433, -1, -1, -1, 522, 22, 23, -1, -1, - -1, 470, -1, -1, -1, 105, -1, 33, 1450, -1, - -1, -1, -1, -1, -1, 1426, 1485, -1, 64, -1, - -1, -1, 549, 1485, 551, 125, 553, -1, -1, -1, - 76, 77, -1, -1, -1, 135, 1362, -1, 1480, -1, - -1, -1, 17, 18, 19, 20, 21, 22, 23, 518, - -1, -1, -1, -1, -1, -1, -1, -1, 33, 528, - -1, -1, -1, -1, -1, 300, 301, 113, 114, -1, - 116, 306, -1, -1, 1485, 121, 1487, 123, -1, -1, - 180, -1, -1, 183, 1495, -1, -1, 1556, 1499, 1500, - 1501, 1502, 1503, -1, 1556, 158, 159, 160, 161, 162, - -1, 164, 165, 166, 573, 1516, -1, -1, -1, 155, - -1, -1, -1, -1, 160, -1, -1, -1, -1, 588, - -1, 17, 18, 19, 20, 21, 22, 23, 597, 229, - 230, -1, 158, 159, 160, 161, 162, 33, 164, 165, - 166, -1, -1, -1, 1555, 1556, -1, 1558, 675, -1, - -1, -1, -1, 1564, 1565, 1566, 256, -1, -1, -1, - -1, -1, 1604, 1605, 1606, -1, 1608, -1, -1, -1, - 279, 280, -1, -1, 1027, 275, -1, 646, 153, 154, - 155, 1592, -1, 158, 159, 160, 161, 162, -1, 164, - 165, 166, -1, 293, -1, 295, -1, -1, -1, 1610, - 1611, -1, 671, 672, 673, 674, -1, 676, -1, 1620, - -1, -1, 312, -1, 314, 315, 316, 317, 318, 319, - -1, -1, -1, -1, 1127, -1, -1, 10, 11, 12, - -1, -1, -1, -1, -1, -1, 336, -1, -1, -1, - -1, -1, -1, -1, -1, 345, -1, -1, 348, -1, - -1, -1, -1, 488, -1, -1, 356, 153, 154, 155, + 249, 250, 251, 252, 253, 254, 255, 702, 1295, 258, + 862, 1114, 334, 1335, 263, 1258, -1, -1, -1, -1, + -1, 411, 1304, 10, 11, 12, 54, -1, 56, 57, + 58, 1285, -1, 666, -1, -1, 1295, 150, -1, 152, + 153, 154, 155, 1295, 1298, 158, 159, 160, 161, 162, + 299, 164, 165, 166, -1, 1314, 84, 1258, 1317, 1318, + -1, 1320, 1314, -1, 1323, 1317, 1318, -1, 1320, -1, + -1, 1323, 100, 10, 11, 12, 13, 64, -1, 328, + 17, -1, -1, -1, -1, -1, -1, -1, -1, 76, + 77, -1, 120, 121, 1295, -1, -1, -1, -1, -1, + -1, -1, 1303, 1304, -1, -1, 10, 11, -1, 137, + -1, -1, -1, 1314, 142, -1, 1317, 1318, -1, 1320, + -1, 1380, 1323, 60, 1378, 1384, 113, 114, 1380, 116, + -1, -1, 1384, 1334, 121, -1, 123, -1, -1, -1, + -1, 390, 1374, 300, 301, -1, -1, 51, -1, 306, + 54, -1, 56, 57, 58, 59, -1, 406, 407, 63, + -1, 1362, 66, 150, 413, -1, 70, -1, -1, -1, + -1, -1, -1, 77, -1, -1, 113, -1, -1, 1380, + 84, -1, -1, 1384, -1, -1, -1, 1388, -1, -1, + -1, -1, -1, -1, 1395, -1, 100, 1429, 1430, -1, + 1432, -1, 1434, -1, 141, -1, -1, -1, 112, -1, + -1, -1, -1, -1, -1, -1, 120, 121, 155, 1451, + -1, 470, 126, 160, -1, -1, 1427, 1486, -1, -1, + 134, 135, 136, 137, 1486, -1, 140, -1, 142, -1, + -1, -1, -1, 147, 20, 21, 22, 23, -1, 1481, + 62, 54, -1, 56, 57, 58, -1, 33, -1, 163, + -1, 18, 19, 20, 21, 22, 23, 516, -1, -1, + -1, -1, -1, 85, -1, -1, 33, 526, -1, -1, + -1, 84, -1, -1, -1, 1486, -1, 1488, -1, -1, + -1, -1, -1, 105, -1, 1496, -1, 100, 1557, 1500, + 1501, 1502, 1503, 1504, -1, 1557, -1, -1, -1, -1, + -1, -1, -1, 125, -1, -1, 1517, 120, 121, -1, + -1, -1, 571, 135, -1, -1, -1, -1, -1, 486, + -1, -1, -1, -1, 137, -1, -1, 586, -1, 142, + -1, -1, -1, -1, -1, 61, 595, 18, 19, 20, + 21, 22, 23, -1, -1, 1556, 1557, -1, 1559, -1, + -1, -1, 33, -1, 1565, 1566, 1567, -1, 180, -1, + -1, 183, -1, 1605, 1606, 1607, -1, 1609, -1, -1, 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, - 166, -1, -1, -1, -1, -1, -1, 746, -1, -1, - -1, 64, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 76, 77, 395, -1, -1, -1, 399, - -1, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, 411, -1, -1, -1, -1, 33, 844, 845, 846, - -1, 848, -1, 850, -1, 852, 853, -1, -1, -1, - 113, 114, 801, 116, -1, -1, 445, 446, 121, -1, - 123, -1, -1, -1, -1, -1, -1, 447, -1, 458, - -1, 820, -1, 462, 463, -1, -1, -1, -1, 459, - -1, -1, 831, -1, -1, -1, 835, 150, -1, -1, - -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 481, -1, -1, 853, -1, -1, -1, -1, 489, - -1, -1, -1, -1, -1, 864, 865, 866, 867, 868, - 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, - 879, 880, 881, 882, 883, 1127, -1, 886, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, -1, -1, 534, -1, 15, 154, 155, 156, + 166, -1, 1593, -1, 279, 280, 645, 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 685, 686, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 932, 1367, -1, 1369, 1370, 1371, 1372, - 1373, 50, 1375, -1, -1, -1, -1, -1, -1, 948, - -1, -1, 582, 62, -1, -1, -1, -1, 67, -1, - -1, 600, -1, -1, 603, 604, 75, 76, 17, 599, + 1611, 1612, -1, -1, -1, -1, -1, 229, 230, -1, + 1621, 670, 671, 672, 673, -1, 675, -1, -1, -1, + -1, -1, -1, -1, 150, -1, -1, -1, -1, 155, + -1, 157, -1, 159, 256, 161, 162, 163, 164, 165, + 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, + -1, -1, -1, 275, 18, 19, 20, 21, 22, 23, + 186, -1, -1, -1, 190, -1, 192, 193, -1, 33, + -1, 293, -1, 295, 155, 156, 157, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 745, -1, -1, -1, + 312, -1, 314, 315, 316, 317, 318, 319, -1, -1, + -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, + 21, 22, 23, -1, 336, -1, -1, 684, 685, -1, + -1, -1, 33, 345, -1, -1, 348, 18, 19, 20, + 21, 22, 23, -1, 356, -1, -1, -1, -1, -1, + -1, 800, 33, -1, -1, -1, 272, -1, -1, -1, + 445, 446, -1, -1, -1, -1, -1, -1, -1, -1, + 819, -1, -1, 458, -1, -1, -1, 462, 463, -1, + -1, 830, -1, 395, -1, -1, -1, 399, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 411, + 154, 155, -1, 852, 158, 159, 160, 161, 162, -1, + 164, 165, 166, -1, 863, 864, 865, 866, 867, 868, + 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, + 879, 880, 881, 882, -1, 447, 885, -1, 1127, -1, + -1, -1, -1, -1, -1, -1, -1, 459, -1, -1, + -1, 152, 153, 154, 155, -1, 1127, 158, 159, 160, + 161, 162, -1, 164, 165, 166, -1, 479, -1, -1, + -1, -1, 153, 154, 155, 487, 392, 158, 159, 160, + 161, 162, 931, 164, 165, 166, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 947, -1, + 3, 4, 5, 6, -1, 8, 9, 10, -1, -1, + -1, -1, 15, 598, -1, -1, 601, 602, -1, -1, + 532, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 619, -1, -1, 622, 623, -1, + -1, 626, -1, 900, -1, 630, -1, 50, 633, 634, + -1, -1, 1001, -1, 1003, -1, 1005, -1, -1, 62, + -1, -1, -1, -1, 67, -1, -1, -1, 580, -1, + -1, -1, 75, 76, 16, 17, 18, 19, 20, 21, + 22, 23, -1, -1, -1, 597, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, 513, -1, -1, + -1, -1, -1, -1, 520, -1, 109, 1056, 111, -1, + 113, -1, -1, -1, -1, 118, -1, 629, -1, 122, + -1, -1, 125, -1, -1, 1074, -1, 130, 640, -1, + 133, 547, -1, 549, -1, 551, 648, -1, -1, -1, + 725, -1, -1, 728, 729, -1, 731, -1, -1, -1, + -1, -1, 155, -1, -1, 158, 159, -1, -1, -1, + 163, -1, 165, 748, -1, -1, 169, 752, 753, -1, + -1, -1, -1, 758, -1, -1, -1, -1, 1367, -1, + 1369, 1370, 1371, 1372, 1373, -1, 1375, -1, -1, -1, + -1, -1, -1, -1, 706, -1, 1367, -1, 1369, 1370, + 1371, 1372, 1373, -1, 1375, 790, -1, -1, 793, 794, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, -1, 164, 165, 166, -1, 738, 812, 170, -1, + -1, -1, -1, -1, -1, -1, -1, 822, 823, -1, + -1, -1, -1, -1, -1, -1, -1, 832, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 674, -1, + -1, -1, -1, -1, 776, -1, -1, -1, -1, -1, + -1, -1, -1, 1462, 1463, 1464, 1465, 1466, 1467, 1468, + 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, + 1479, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, + 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, -1, + -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, + 905, -1, -1, 908, 909, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, 1284, -1, -1, -1, 924, + -1, -1, 33, 1532, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, -1, -1, 18, 19, + 20, 21, 22, 23, -1, -1, -1, -1, 953, -1, + -1, 883, -1, 33, 65, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, + 902, -1, 33, 1342, -1, -1, 1585, -1, 1347, 1588, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 621, -1, 33, 624, 625, -1, -1, 628, - -1, -1, -1, 632, -1, -1, 635, 636, 47, -1, - 109, 631, 111, 1002, 113, 1004, -1, 1006, -1, 118, - -1, 60, 61, 122, -1, -1, 125, -1, -1, 649, - -1, 130, -1, -1, 133, -1, -1, 76, 1461, 1462, - 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, - 1473, 1474, 1475, 1476, 1477, 1478, 155, -1, -1, 158, - 159, -1, -1, -1, 163, -1, 165, -1, 107, -1, - 169, 110, -1, -1, 113, 1122, 16, 17, 18, 19, - 20, 21, 22, 23, -1, 1074, -1, 707, -1, -1, - 129, -1, -1, 33, -1, -1, -1, 726, -1, -1, - 729, 730, 141, 732, -1, -1, -1, -1, 1531, 20, - 21, 22, 23, -1, -1, -1, 155, -1, -1, 739, - 749, -1, 33, -1, 753, 754, -1, -1, -1, -1, - 759, -1, -1, -1, -1, 1367, -1, 1369, 1370, 1371, - 1372, 1373, -1, 1375, -1, -1, 901, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 777, -1, -1, - -1, 1584, 791, -1, 1587, 794, 795, -1, 16, 17, - 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, - -1, -1, -1, -1, 813, 33, -1, -1, -1, -1, - -1, -1, -1, -1, 823, 824, -1, -1, -1, -1, - -1, -1, -1, -1, 833, -1, -1, -1, 148, -1, - -1, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, -1, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, - 1472, 1473, 1474, 1475, 1476, 1477, 1478, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 3, 4, 5, 6, - -1, 8, 9, 10, 884, -1, -1, -1, 15, -1, - -1, -1, -1, -1, -1, -1, -1, 906, -1, -1, - 909, 910, -1, 903, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1284, 925, -1, -1, -1, - -1, -1, -1, 50, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, 62, 164, 165, 166, -1, - 67, -1, 170, -1, -1, 954, -1, 1374, 75, 76, - -1, -1, -1, -1, 81, -1, -1, -1, 85, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99, 1342, -1, 1587, -1, -1, 1347, -1, - -1, -1, -1, -1, 111, -1, 113, -1, 997, -1, - -1, 118, -1, -1, -1, 122, -1, -1, 125, -1, - -1, -1, -1, 130, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1025, 1026, 1445, 1446, - 1447, 1448, 1022, 1450, -1, 1452, 1395, -1, 155, -1, - -1, 158, 159, 160, -1, -1, 163, -1, 165, 166, - -1, -1, 169, -1, -1, -1, 3, 4, 5, 6, + -1, 996, -1, -1, -1, -1, -1, 1588, 109, -1, + -1, -1, -1, -1, -1, -1, -1, 843, 844, 845, + -1, 847, -1, 849, -1, 851, 852, -1, -1, 1024, + 1025, -1, -1, -1, -1, -1, 1395, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, + 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, -1, 165, 166, -1, -1, 169, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, + 5, 6, -1, 8, 9, 10, 11, 12, 158, 159, + 160, 161, 162, -1, 164, 165, 166, -1, -1, 1021, + -1, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, -1, 164, 165, 166, -1, -1, -1, 170, + -1, -1, -1, 1482, -1, 50, 51, -1, 1123, 54, + -1, 56, 57, 58, 59, 60, -1, 62, 63, -1, + -1, 66, 67, -1, -1, 70, -1, 1069, -1, -1, + 75, 76, 77, 10, 11, 12, 81, -1, -1, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, -1, -1, -1, -1, + -1, -1, -1, 17, 109, -1, 111, -1, 113, -1, + 47, -1, 49, 118, -1, 120, 121, 122, -1, 33, + 125, 126, -1, -1, -1, 130, -1, 64, 133, 134, + 135, 136, 137, 47, -1, 140, -1, 142, -1, 76, + 77, -1, -1, -1, -1, 1147, 60, 61, -1, -1, + 155, -1, -1, 158, 159, 160, -1, -1, 163, -1, + 165, 166, 76, -1, 169, 10, 11, 12, -1, -1, + -1, -1, -1, -1, -1, -1, 113, 114, 54, 116, + 56, 57, 58, -1, 121, -1, 123, -1, -1, -1, + 66, -1, -1, 107, -1, -1, 110, -1, -1, 113, + -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, + 147, -1, 1287, -1, -1, 129, 1122, -1, -1, 64, + -1, -1, -1, -1, 100, -1, -1, 141, -1, -1, + -1, 76, 77, -1, -1, -1, -1, -1, 1313, -1, + -1, 155, -1, -1, 120, 121, 1321, -1, -1, 1324, + 3, 4, 5, 6, -1, 8, 9, 10, 11, -1, + -1, 137, -1, -1, -1, -1, 142, -1, 113, 114, + -1, 116, -1, -1, -1, -1, 121, -1, 123, -1, + -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, -1, -1, -1, -1, -1, 50, 51, 33, + -1, 54, 147, 56, 57, 58, 59, -1, -1, 62, + 63, -1, 1387, 66, 67, -1, -1, 70, -1, -1, + -1, -1, 75, 76, 77, 1400, -1, 1329, 81, -1, + -1, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, + -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, + 113, -1, -1, -1, -1, 118, -1, 120, 121, 122, + -1, -1, 125, 126, -1, -1, -1, 130, -1, -1, + 133, 134, 135, 136, 137, -1, -1, 140, -1, 142, + -1, -1, -1, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 155, -1, 6, 158, 159, 160, -1, -1, + 163, -1, 165, 166, -1, -1, 169, -1, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, + 164, 165, 166, -1, 51, -1, 170, 54, -1, 56, + 57, 58, 59, -1, -1, 47, 63, 49, -1, 66, + -1, 53, -1, 70, -1, -1, -1, -1, 60, 61, + 77, -1, -1, -1, -1, -1, -1, 84, 1374, 71, + 72, 73, -1, -1, -1, -1, -1, -1, 1480, -1, + -1, 83, -1, 100, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 112, 18, 19, 20, 21, + 22, 23, -1, 120, 121, 107, -1, -1, -1, 126, + -1, 33, -1, -1, -1, 117, -1, 134, 135, 136, + 137, 123, -1, 140, -1, 142, 128, 1529, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 139, -1, 141, + 1446, 1447, 1448, 1449, -1, 1451, 163, 1453, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 25, -1, -1, -1, -1, -1, -1, -1, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, + 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, + 65, 66, 67, 68, -1, 70, -1, 72, 73, 74, + 75, 76, 77, 78, 79, 80, -1, 82, 83, 84, + -1, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 100, -1, -1, -1, -1, + -1, -1, 107, 108, 109, -1, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, + 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, + -1, -1, 147, 148, 149, 150, 151, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 1069, + 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, -1, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 1481, 70, 1123, 72, 73, 74, 75, 76, + 67, 68, -1, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, -1, 82, 83, 84, -1, -1, - -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, - -1, -1, -1, 100, -1, -1, -1, 1147, 33, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, 107, 108, 109, -1, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, -1, -1, -1, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, -1, -1, -1, -1, -1, -1, - -1, -1, 47, -1, 49, -1, -1, -1, 53, -1, - -1, -1, -1, -1, -1, 60, 61, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 71, 72, 73, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 83, 8, - 9, 10, 11, -1, -1, -1, 15, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 1287, 164, - 165, 166, 107, 108, -1, 170, -1, -1, -1, -1, - -1, -1, 117, -1, -1, -1, -1, -1, 123, -1, - -1, 50, -1, 128, 1313, 54, -1, 56, 57, 58, - -1, -1, 1321, 62, 139, 1324, 141, 66, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 1329, + 167, -1, 169, 170, 3, 4, 5, 6, -1, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, + -1, 50, 33, -1, -1, 54, -1, 56, 57, 58, + -1, -1, -1, 62, -1, 64, 65, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, - -1, 120, 121, 122, -1, -1, 125, -1, 1387, -1, - -1, 130, -1, -1, 133, -1, -1, -1, 137, -1, - -1, 1400, -1, 142, -1, -1, -1, -1, -1, -1, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, 147, -1, + -1, 15, -1, -1, -1, -1, 155, -1, -1, 158, + 159, 160, -1, -1, 163, -1, 165, 166, -1, 150, + 169, 152, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 50, -1, -1, -1, + 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, + -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, + -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, + -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, + -1, 165, 166, -1, -1, 169, 17, 18, 19, 20, + 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, + -1, 50, 33, -1, -1, 54, -1, 56, 57, 58, + -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, + 159, 160, -1, -1, 163, -1, 165, 166, 167, -1, + 169, -1, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, -1, 164, 165, 166, 50, 51, -1, -1, + 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, + -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, + -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, + -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, + -1, 165, 166, -1, -1, 169, -1, -1, -1, 16, + 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, + -1, 50, 51, -1, -1, 54, 33, 56, 57, 58, + -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, 166, -1, -1, - 169, -1, -1, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, -1, -1, -1, -1, -1, -1, -1, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, -1, 1479, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 66, 67, 68, -1, 70, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, -1, 82, 83, - 84, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 100, -1, 1528, -1, - -1, -1, -1, 107, 108, 109, -1, 111, 112, 113, - 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - -1, -1, -1, 147, 148, 149, 150, 151, 152, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, -1, 169, 170, 3, 4, 5, - 6, -1, 8, 9, 10, 11, 12, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, + 169, -1, 149, -1, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 50, 164, 165, 166, + 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, + -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, + -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, + -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, + 9, 10, 11, 147, -1, -1, -1, -1, -1, -1, + -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, + -1, 165, 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, -1, -1, -1, 50, 51, 33, -1, 54, -1, - 56, 57, 58, 59, 60, -1, 62, 63, -1, -1, - 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - 126, -1, -1, -1, 130, -1, -1, 133, 134, 135, - 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, - 6, -1, 8, 9, 10, 11, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, -1, 169, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - -1, -1, -1, 170, 50, 51, -1, -1, 54, -1, - 56, 57, 58, 59, -1, -1, 62, 63, -1, -1, - 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 54, -1, 56, 57, 58, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - 126, -1, -1, -1, 130, 84, -1, 133, 134, 135, - 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, - 6, 100, 8, 9, 10, 11, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, 120, 121, 169, -1, -1, -1, -1, 16, 17, - 18, 19, 20, 21, 22, 23, -1, -1, 137, -1, - -1, -1, -1, 142, 50, 33, -1, -1, 54, -1, - 56, 57, 58, -1, -1, -1, 62, -1, 64, 65, - 66, 67, -1, -1, -1, -1, 165, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, - -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, - 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, 150, 169, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 50, - -1, -1, -1, 54, -1, 56, 57, 58, -1, -1, - -1, 62, -1, -1, -1, 66, 67, -1, 10, 11, - 12, -1, -1, -1, 75, 76, 77, -1, -1, -1, - 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, -1, -1, -1, -1, 47, -1, 49, 109, -1, - 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, - 121, 122, 64, -1, 125, -1, -1, -1, -1, 130, - -1, -1, 133, -1, 76, 77, 137, 3, 4, 5, - 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, - -1, -1, 163, -1, 165, 166, 167, -1, 169, -1, - -1, 113, 114, -1, 116, -1, -1, -1, -1, 121, - -1, 123, -1, -1, 50, 51, -1, -1, 54, -1, - 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, 147, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, - -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, - 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, - 51, -1, -1, 54, 33, 56, 57, 58, -1, -1, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, - 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, - 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, - -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, - 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, - -1, -1, 163, -1, 165, 166, -1, -1, 169, -1, - 149, -1, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, - 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, - -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, - 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, - 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, - -1, -1, -1, 54, 33, 56, 57, 58, -1, -1, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, - 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, - 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, - -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, - 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, - -1, -1, 163, -1, 165, 166, 167, -1, 169, 148, - -1, -1, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, - 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, 120, 121, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, - -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, - 11, 147, -1, -1, -1, -1, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, - 19, 20, 21, 22, 23, -1, -1, -1, -1, 50, - -1, -1, -1, 54, 33, 56, 57, 58, -1, -1, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, - 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, 113, -1, -1, -1, -1, 118, -1, 120, - 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, - -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, - 6, 142, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, 155, -1, -1, 158, 159, 160, - -1, -1, 163, -1, 165, 166, 167, -1, 169, -1, - -1, 150, -1, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 50, 164, 165, 166, 54, -1, - 56, 57, 58, -1, -1, -1, 62, -1, -1, -1, - 66, 67, -1, -1, -1, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, 81, -1, -1, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, 10, 11, - 12, -1, 118, -1, 120, 121, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, 133, -1, -1, - -1, 137, 3, 4, 5, 6, 142, 8, 9, 10, - 11, 12, -1, -1, 15, -1, -1, -1, -1, 155, - -1, -1, 158, 159, 160, -1, -1, 163, -1, 165, - 166, -1, 64, 169, 16, 17, 18, 19, 20, 21, - 22, 23, -1, -1, 76, 77, 47, -1, -1, 50, - 51, 33, -1, 54, -1, 56, 57, 58, 59, 60, - -1, 62, 63, -1, -1, 66, 67, -1, -1, 70, - -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, - -1, 113, 114, 84, 116, -1, -1, -1, -1, 121, - -1, 123, -1, -1, -1, -1, -1, -1, -1, 100, - -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, 113, -1, -1, 147, 117, 118, -1, 120, - 121, 122, -1, -1, 125, 126, -1, -1, -1, 130, - -1, -1, 133, 134, 135, 136, 137, -1, -1, 140, - -1, 142, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, -1, -1, 155, -1, -1, 158, 159, -1, - -1, -1, 163, -1, 165, -1, -1, -1, 169, -1, - 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, - 162, -1, 164, 165, 166, 167, -1, -1, -1, 50, - -1, -1, -1, 54, -1, 56, 57, 58, -1, -1, - -1, 62, -1, -1, -1, 66, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, -1, -1, -1, - 81, -1, -1, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - -1, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, 113, 10, 11, 12, -1, 118, -1, 120, - 121, 122, -1, -1, 125, -1, -1, -1, -1, 130, - -1, -1, 133, -1, -1, -1, 137, 3, 4, 5, - 6, 142, 8, 9, 10, 11, 12, -1, -1, 15, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 163, -1, 165, 166, -1, 64, 169, 16, - 17, 18, 19, 20, 21, 22, 23, -1, -1, 76, - 77, 47, -1, -1, 50, 51, 33, -1, 54, -1, - 56, 57, 58, 59, 60, -1, 62, 63, -1, -1, - 66, 67, -1, -1, 70, -1, -1, -1, -1, 75, - 76, 77, -1, -1, -1, -1, 113, 114, 84, 116, - -1, -1, -1, -1, 121, -1, 123, -1, -1, -1, - -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, - -1, -1, -1, 109, -1, 111, -1, 113, -1, -1, - 147, 117, 118, -1, 120, 121, 122, -1, -1, 125, - 126, -1, -1, -1, 130, -1, -1, 133, 134, 135, - 136, 137, -1, -1, 140, -1, 142, 3, 4, 5, - 6, -1, 8, 9, 10, -1, -1, -1, -1, 155, - -1, -1, 158, 159, -1, -1, -1, 163, -1, 165, - -1, -1, -1, 169, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, -1, -1, -1, 50, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, - -1, 67, -1, -1, -1, -1, -1, -1, -1, 75, - 76, -1, -1, -1, -1, 81, -1, -1, -1, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, -1, -1, -1, 3, 4, 5, - 6, -1, 8, 9, 10, 111, -1, 113, -1, -1, - -1, -1, 118, -1, -1, -1, 122, -1, -1, 125, - -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, - -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, - 23, -1, -1, -1, 50, -1, -1, -1, -1, 155, - 33, -1, 158, 159, 160, -1, 62, 163, -1, 165, - 166, 67, -1, 169, -1, -1, -1, -1, -1, 75, - 76, -1, -1, -1, -1, 81, -1, -1, -1, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 111, -1, 113, -1, -1, - -1, -1, 118, -1, -1, 6, 122, -1, -1, 125, - -1, -1, -1, -1, 130, 16, 17, 18, 19, 20, - 21, 22, 23, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 33, -1, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, -1, 163, -1, 165, - 166, -1, -1, 169, -1, -1, -1, -1, -1, 152, - 153, 154, 155, -1, 65, 158, 159, 160, 161, 162, - -1, 164, 165, 166, -1, -1, -1, 10, 11, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, -1, 109, 20, - 21, 22, 23, -1, -1, -1, -1, -1, 51, -1, - -1, 54, 33, 56, 57, 58, 59, -1, -1, -1, - 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, - -1, -1, -1, -1, 77, -1, -1, 148, -1, -1, - 151, 84, 153, 154, 155, 156, 157, 158, 159, 160, - 161, 162, 163, -1, 165, 166, -1, 100, 169, 10, - 11, -1, -1, -1, -1, -1, -1, -1, -1, 112, - -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, - -1, -1, -1, 126, 54, -1, 56, 57, 58, -1, - -1, 134, 135, 136, 137, -1, 66, 140, -1, 142, - 51, -1, -1, 54, 147, 56, 57, 58, 59, 11, - -1, -1, 63, -1, 84, 66, 153, 154, 155, 70, - 163, 158, 159, 160, 161, 162, 77, 164, 165, 166, - 100, -1, -1, 84, -1, 156, 157, 158, 159, 160, - 161, 162, -1, 164, 165, 166, 10, 11, -1, 100, - 120, 121, 54, -1, 56, 57, 58, -1, -1, -1, - -1, 112, -1, -1, -1, -1, -1, 137, -1, 120, - 121, -1, 142, -1, -1, 126, -1, -1, -1, -1, - -1, -1, 84, 134, 135, 136, 137, 51, -1, 140, - 54, 142, 56, 57, 58, 59, -1, -1, 100, 63, - -1, -1, 66, -1, -1, -1, 70, -1, -1, -1, - -1, -1, 163, 77, -1, -1, -1, -1, 120, 121, - 84, 16, 17, 18, 19, 20, 21, 22, 23, -1, - -1, -1, -1, -1, -1, 137, 100, -1, 33, -1, - 142, -1, -1, 10, 11, 12, -1, -1, 112, -1, - -1, -1, -1, -1, -1, -1, 120, 121, -1, -1, - -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, 137, -1, -1, 140, -1, 142, 16, + -1, 50, -1, -1, -1, 54, 33, 56, 57, 58, + -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, + 159, 160, -1, -1, 163, -1, 165, 166, 167, -1, + 169, -1, -1, 150, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 50, 164, 165, 166, + 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, + -1, -1, -1, -1, 118, -1, 120, 121, 122, -1, + -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, + -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, + 9, 10, 11, 147, -1, -1, -1, -1, -1, -1, + -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, + -1, 165, 166, -1, -1, 169, -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 33, 64, -1, 163, - 16, 17, 18, 19, 20, 21, 22, 23, -1, 76, - 77, -1, -1, -1, -1, -1, -1, 33, 16, 17, - 18, 19, 20, 21, 22, 23, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 33, 16, 17, 18, 19, - 20, 21, 22, 23, -1, -1, 113, 114, -1, 116, - -1, -1, -1, 33, 121, -1, 123, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, -1, 164, - 165, 166, 167, 16, 17, 18, 19, 20, 21, 22, - 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 33, 16, 17, 18, 19, 20, 21, 22, 23, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, - -1, -1, -1, -1, -1, 152, 153, 154, 155, 156, - 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, - 167, -1, -1, -1, -1, -1, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, - 166, 167, -1, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, - -1, -1, 152, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, -1, 164, 165, 166, 167, 16, 17, - 18, 19, 20, 21, 22, 23, 54, -1, 56, 57, - 58, -1, -1, -1, -1, 33, -1, -1, -1, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - -1, 164, 165, 166, 167, -1, 84, 152, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 0, 164, - 165, 166, 100, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 18, 19, 20, 21, 22, 23, - -1, -1, 120, 121, -1, -1, -1, -1, -1, 33, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 137, - -1, -1, -1, -1, 142, 47, -1, 49, -1, -1, - 52, 53, -1, -1, -1, -1, -1, -1, 60, 61, - 18, 19, 20, 21, 22, 23, -1, 69, -1, 71, - 72, 73, 74, -1, -1, 33, 78, -1, -1, -1, - -1, 83, -1, -1, 152, 153, 154, 155, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 101, - 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, - -1, -1, 114, 115, 116, 117, -1, -1, -1, -1, - -1, 123, 124, 11, 12, 127, 128, 15, -1, 17, - 132, -1, -1, -1, -1, -1, 138, 139, -1, 141, - -1, -1, -1, -1, -1, -1, -1, 149, -1, 153, - 154, 155, 156, 157, 158, 159, 160, 161, 162, 47, - 164, 165, 166, 51, -1, -1, 54, -1, 56, 57, - 58, 59, 60, -1, -1, 63, -1, -1, 66, -1, - -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, - 18, 19, 20, 21, 22, 23, 84, 155, 156, 157, - 158, 159, 160, 161, 162, 33, 164, 165, 166, 10, - 11, 12, 100, 18, 19, 20, 21, 22, 23, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 33, 117, - -1, -1, 120, 121, -1, -1, -1, -1, 126, -1, - 18, 19, 20, 21, 22, 23, 134, 135, 136, 137, - -1, -1, 140, -1, 142, 33, -1, -1, -1, -1, - -1, -1, -1, 64, -1, -1, -1, 155, -1, -1, - -1, -1, 160, -1, -1, 76, 77, -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, 108, -1, -1, - -1, -1, 113, 114, -1, 116, -1, -1, -1, -1, - 121, -1, 123, -1, 6, -1, -1, -1, 156, 157, - 158, 159, 160, 161, 162, -1, 164, 165, 166, -1, - -1, -1, -1, -1, -1, 10, 11, 12, -1, 154, - 155, 6, -1, 158, 159, 160, 161, 162, -1, 164, - 165, 166, -1, -1, -1, 47, -1, 49, -1, -1, - -1, 53, -1, -1, -1, -1, -1, 155, 60, 61, - 158, 159, 160, 161, 162, -1, 164, 165, 166, 71, - 72, 73, 47, -1, 49, -1, -1, -1, 53, 64, - -1, 83, -1, -1, -1, 60, 61, -1, -1, -1, - -1, 76, 77, -1, -1, -1, 71, 72, 73, -1, - -1, -1, -1, -1, -1, 107, -1, -1, 83, -1, - -1, 10, 11, 12, -1, 117, -1, -1, -1, -1, - -1, 123, -1, -1, -1, 127, 128, -1, 113, 114, - 115, 116, 107, -1, -1, -1, 121, 139, 123, 141, - -1, -1, 117, 10, 11, 12, -1, -1, 123, 134, - -1, -1, -1, 128, 139, 54, -1, 56, 57, 58, - 59, 60, -1, -1, 139, -1, 141, 66, -1, -1, - -1, -1, -1, 10, 11, 12, -1, -1, 77, -1, - -1, -1, -1, -1, -1, 84, -1, 54, -1, 56, - 57, 58, -1, -1, -1, -1, -1, -1, -1, 66, + -1, 50, -1, -1, -1, 54, 33, 56, 57, 58, + -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, -1, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, -1, -1, + -1, -1, -1, -1, -1, -1, 155, -1, -1, 158, + 159, 160, -1, -1, 163, -1, 165, 166, 167, -1, + 169, 148, -1, -1, -1, 152, 153, 154, 155, 156, + 157, 158, 159, 160, 161, 162, 50, 164, 165, 166, + 54, -1, 56, 57, 58, -1, -1, -1, 62, -1, + -1, -1, 66, 67, -1, -1, -1, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, 81, -1, -1, + 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, -1, -1, -1, + -1, -1, -1, -1, -1, 109, -1, 111, -1, 113, + 10, 11, 12, -1, 118, -1, 120, 121, 122, -1, + -1, 125, -1, -1, -1, -1, 130, -1, -1, 133, + -1, -1, -1, 137, 3, 4, 5, 6, 142, 8, + 9, 10, 11, 12, -1, -1, 15, -1, -1, -1, + -1, 155, -1, -1, 158, 159, 160, -1, -1, 163, + -1, 165, 166, -1, 64, 169, 16, 17, 18, 19, + 20, 21, 22, 23, -1, -1, 76, 77, 47, -1, + -1, 50, 51, 33, -1, 54, -1, 56, 57, 58, + 59, 60, -1, 62, 63, -1, -1, 66, 67, -1, + -1, 70, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, -1, 113, 114, 84, 116, -1, -1, -1, + -1, 121, -1, 123, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, - 77, -1, 11, 12, -1, -1, 15, 84, -1, -1, - -1, 120, 121, -1, -1, -1, -1, 64, -1, -1, - -1, -1, -1, 100, -1, 134, -1, -1, 137, 76, - 77, 140, -1, 142, -1, -1, -1, -1, 47, -1, - -1, -1, 51, 120, 121, 54, -1, 56, 57, 58, - 59, 60, -1, -1, 63, -1, -1, 66, -1, -1, - 137, 70, -1, 140, -1, 142, 113, 114, 77, 116, - -1, -1, -1, -1, 121, 84, 123, -1, -1, -1, - -1, -1, -1, -1, 10, 11, 12, 134, -1, -1, - -1, 100, 139, -1, 11, 12, -1, -1, 15, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, - -1, 120, 121, -1, -1, -1, -1, 126, -1, -1, - -1, -1, -1, 11, 12, 134, 135, 136, 137, -1, - 47, 140, -1, 142, 51, -1, -1, 54, 64, 56, - 57, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 76, 77, -1, 70, -1, -1, -1, -1, -1, 47, - 77, -1, -1, 51, -1, -1, 54, 84, 56, 57, - 58, 59, 60, -1, -1, 63, -1, -1, 66, -1, - -1, -1, 70, 100, -1, -1, -1, 113, 114, 77, - 116, -1, -1, -1, -1, 121, 84, 123, -1, -1, - 117, -1, -1, 120, 121, -1, -1, -1, 134, 126, - 11, 12, 100, 139, -1, -1, -1, 134, 135, 136, - 137, -1, -1, 140, -1, 142, -1, -1, -1, 117, - -1, -1, 120, 121, 11, 12, -1, -1, 126, -1, - -1, -1, 10, 11, 12, -1, 134, 135, 136, 137, - 51, -1, 140, 54, 142, 56, 57, 58, 59, 60, - -1, -1, 63, -1, 54, 66, 56, 57, 58, 70, - -1, -1, -1, -1, 51, -1, 77, 54, -1, 56, - 57, 58, 59, 84, -1, -1, 63, -1, -1, 66, - -1, -1, -1, 70, 84, -1, 64, -1, -1, 100, - 77, -1, -1, -1, -1, -1, -1, 84, 76, 77, - 100, -1, -1, -1, -1, -1, -1, -1, -1, 120, - 121, 11, 12, 100, -1, 126, -1, -1, -1, -1, - 120, 121, -1, 134, 135, 136, 137, -1, -1, 140, - 117, 142, -1, 120, 121, 113, 114, 137, 116, 126, - 11, -1, 142, 121, -1, 123, -1, 134, 135, 136, - 137, 51, -1, 140, 54, 142, 56, 57, 58, 59, - 138, -1, -1, 63, -1, 165, 66, -1, -1, -1, + 109, -1, 111, -1, 113, -1, -1, 147, 117, 118, + -1, 120, 121, 122, -1, -1, 125, 126, -1, -1, + -1, 130, -1, -1, 133, 134, 135, 136, 137, -1, + -1, 140, -1, 142, 3, 4, 5, 6, -1, 8, + 9, 10, 11, -1, -1, -1, 155, -1, -1, 158, + 159, -1, -1, -1, 163, -1, 165, -1, 148, -1, + 169, -1, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, -1, 164, 165, 166, 167, -1, -1, + -1, 50, -1, -1, -1, 54, -1, 56, 57, 58, + -1, -1, -1, 62, -1, -1, -1, 66, 67, -1, + -1, -1, -1, -1, -1, -1, 75, 76, 77, -1, + -1, -1, 81, -1, -1, 84, 85, 86, 87, 88, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, -1, -1, -1, -1, -1, -1, -1, -1, + 109, -1, 111, -1, 113, 10, 11, 12, -1, 118, + -1, 120, 121, 122, -1, -1, 125, -1, -1, -1, + -1, 130, -1, -1, 133, -1, -1, -1, 137, 3, + 4, 5, 6, 142, 8, 9, 10, 11, 12, -1, + -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 163, -1, 165, 166, -1, 64, + 169, 16, 17, 18, 19, 20, 21, 22, 23, -1, + -1, 76, 77, 47, -1, -1, 50, 51, 33, -1, + 54, -1, 56, 57, 58, 59, 60, -1, 62, 63, + -1, -1, 66, 67, -1, -1, 70, -1, -1, -1, + -1, 75, 76, 77, -1, -1, -1, -1, 113, 114, + 84, 116, -1, -1, -1, -1, 121, -1, 123, -1, + 10, 11, 12, -1, -1, -1, 100, -1, -1, 134, + -1, -1, -1, -1, 139, 109, -1, 111, -1, 113, + -1, -1, -1, 117, 118, -1, 120, 121, 122, -1, + -1, 125, 126, -1, -1, -1, 130, -1, -1, 133, + 134, 135, 136, 137, -1, -1, 140, -1, 142, -1, + 3, 4, 5, 6, 64, 8, 9, 10, -1, -1, + -1, 155, 15, -1, 158, 159, 76, 77, -1, 163, + -1, 165, -1, -1, -1, 169, -1, 152, 153, 154, + 155, 156, 157, 158, 159, 160, 161, 162, -1, 164, + 165, 166, 167, -1, -1, -1, -1, 50, -1, -1, + -1, -1, -1, 113, 114, 115, 116, -1, -1, 62, + -1, 121, -1, 123, 67, -1, -1, -1, -1, -1, + -1, -1, 75, 76, 134, -1, -1, -1, 81, 139, + -1, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, + 3, 4, 5, 6, -1, 8, 9, 10, 111, -1, + 113, -1, -1, -1, -1, 118, -1, -1, -1, 122, + -1, -1, 125, -1, -1, -1, -1, 130, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, + -1, -1, 155, -1, -1, 158, 159, 160, -1, 62, + 163, -1, 165, 166, 67, -1, 169, -1, -1, -1, + -1, -1, 75, 76, -1, -1, -1, -1, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, -1, -1, -1, + 3, 4, 5, 6, -1, 8, 9, 10, 111, -1, + 113, -1, -1, -1, -1, 118, -1, -1, -1, 122, + -1, -1, 125, -1, -1, -1, -1, 130, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, + -1, -1, 155, -1, -1, 158, 159, 160, -1, 62, + 163, -1, 165, 166, 67, -1, 169, -1, -1, -1, + -1, -1, 75, 76, -1, -1, -1, -1, 81, -1, + -1, -1, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, + 113, -1, -1, -1, -1, 118, -1, -1, -1, 122, + -1, -1, 125, -1, -1, -1, -1, 130, -1, -1, + 16, 17, 18, 19, 20, 21, 22, 23, 51, -1, + -1, 54, -1, 56, 57, 58, 59, 33, -1, -1, + 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, + 163, -1, 165, 166, 77, -1, 169, -1, -1, -1, + -1, 84, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, -1, -1, -1, -1, -1, 100, -1, 33, + -1, 10, 11, 12, -1, -1, -1, -1, -1, 112, + -1, -1, -1, -1, -1, -1, -1, 120, 121, -1, + -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, + -1, 134, 135, 136, 137, -1, -1, 140, -1, 142, + 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, + -1, -1, -1, -1, -1, 64, -1, 33, -1, -1, + 163, -1, -1, -1, -1, -1, -1, 76, 77, -1, + -1, -1, -1, -1, -1, -1, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, -1, -1, 113, 114, -1, 116, -1, 33, + -1, -1, 121, -1, 123, -1, -1, -1, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, 138, + 164, 165, 166, 167, 16, 17, 18, 19, 20, 21, + 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + -1, -1, -1, -1, -1, -1, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, -1, 164, 165, + 166, 167, 16, 17, 18, 19, 20, 21, 22, 23, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, + 16, 17, 18, 19, 20, 21, 22, 23, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 33, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, 16, 17, 18, 19, 20, 21, + 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, -1, 164, 165, 166, 167, -1, -1, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, -1, 17, 18, 19, 20, 21, + 22, 23, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 33, -1, -1, -1, -1, -1, -1, 152, 153, + 154, 155, 156, 157, 158, 159, 160, 161, 162, -1, + 164, 165, 166, 167, -1, -1, 152, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 0, 164, 165, + 166, 18, 19, 20, 21, 22, 23, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, + 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, + 162, -1, 164, 165, 166, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 47, -1, 49, -1, -1, 52, + 53, -1, -1, -1, -1, -1, -1, 60, 61, 18, + 19, 20, 21, 22, 23, -1, 69, -1, 71, 72, + 73, 74, -1, -1, 33, 78, -1, -1, -1, -1, + 83, 153, 154, 155, -1, -1, 158, 159, 160, 161, + 162, -1, 164, 165, 166, -1, -1, -1, 101, 102, + 103, 104, 105, 106, 107, 108, 10, 11, 12, -1, + -1, 114, 115, 116, 117, -1, -1, -1, -1, -1, + 123, 124, 11, 12, 127, 128, 15, -1, 17, 132, + -1, -1, -1, -1, -1, 138, 139, -1, 141, 156, + 157, 158, 159, 160, 161, 162, 149, 164, 165, 166, + -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, + 64, -1, 51, -1, -1, 54, -1, 56, 57, 58, + 59, 60, 76, 77, 63, 6, -1, 66, -1, -1, + -1, 70, -1, -1, -1, -1, -1, -1, 77, -1, + -1, -1, -1, -1, -1, 84, 155, -1, -1, 158, + 159, 160, 161, 162, 108, 164, 165, 166, -1, 113, + 114, 100, 116, 10, 11, 12, 47, 121, 49, 123, + -1, -1, 53, 10, 11, 12, -1, -1, 117, 60, + 61, 120, 121, -1, -1, -1, -1, 126, -1, -1, + 71, 72, 73, -1, -1, 134, 135, 136, 137, -1, + -1, 140, 83, 142, -1, -1, -1, 54, -1, 56, + 57, 58, 59, 60, -1, -1, 155, -1, -1, 66, + -1, 160, 10, 11, 12, -1, 107, 64, -1, -1, + 77, -1, -1, -1, -1, -1, 117, 84, -1, 76, + 77, -1, 123, -1, -1, -1, 127, 128, -1, -1, + -1, -1, 54, 100, 56, 57, 58, -1, 139, -1, + 141, 11, 12, -1, 66, 15, 54, -1, 56, 57, + 58, -1, -1, 120, 121, -1, 113, 114, 66, 116, + -1, -1, 84, -1, 121, -1, 123, 134, -1, 77, + 137, -1, -1, 140, -1, 142, 84, 47, 100, -1, + -1, 51, -1, -1, 54, -1, 56, 57, 58, 59, + 60, -1, 100, 63, -1, -1, 66, -1, 120, 121, 70, -1, -1, -1, -1, -1, -1, 77, -1, -1, - 51, -1, -1, 54, 84, 56, 57, 58, 59, 60, - -1, -1, 63, -1, -1, 66, -1, -1, -1, 70, - 100, -1, -1, -1, -1, -1, 77, -1, -1, -1, - -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, - 120, 121, -1, -1, -1, -1, 126, 11, -1, 100, - -1, -1, -1, -1, 134, 135, 136, 137, -1, -1, - 140, -1, 142, -1, -1, -1, -1, -1, -1, 120, - 121, 11, -1, -1, -1, 126, -1, -1, -1, -1, - -1, -1, -1, 134, 135, 136, 137, 51, -1, 140, - 54, 142, 56, 57, 58, 59, 60, -1, -1, 63, + -1, -1, 120, 121, 84, 137, -1, -1, -1, -1, + 142, -1, 54, -1, 56, 57, 58, -1, -1, 137, + 100, -1, 140, -1, 142, 11, 12, -1, -1, 15, + -1, -1, -1, 165, -1, -1, -1, 117, -1, -1, + 120, 121, 84, -1, -1, -1, 126, -1, -1, -1, + -1, -1, -1, -1, 134, 135, 136, 137, 100, -1, + 140, 47, 142, 11, 12, 51, -1, -1, 54, -1, + 56, 57, 58, 59, 60, -1, -1, 63, 120, 121, + 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, + -1, 77, -1, -1, -1, 137, -1, -1, 84, 47, + 142, -1, -1, 51, -1, -1, 54, -1, 56, 57, + 58, 59, 60, -1, 100, 63, -1, -1, 66, -1, + -1, -1, 70, 165, -1, -1, -1, -1, -1, 77, + -1, 117, -1, -1, 120, 121, 84, -1, -1, -1, + 126, -1, -1, -1, -1, -1, -1, -1, 134, 135, + 136, 137, 100, -1, 140, -1, 142, 11, 12, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, + -1, -1, 120, 121, -1, -1, -1, -1, 126, -1, + -1, 11, 12, -1, -1, -1, 134, 135, 136, 137, + -1, -1, 140, -1, 142, -1, -1, 51, -1, -1, + 54, -1, 56, 57, 58, 59, 60, -1, -1, 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, -1, -1, 51, -1, 77, 54, -1, 56, 57, 58, 59, 84, -1, -1, 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, 100, 77, -1, -1, -1, -1, -1, -1, 84, 10, 11, 12, -1, -1, - -1, -1, -1, -1, -1, -1, 120, 121, 11, -1, + -1, -1, -1, -1, -1, -1, 120, 121, 11, 12, 100, -1, 126, -1, -1, -1, -1, -1, -1, -1, - 134, 135, 136, 137, -1, -1, 140, -1, 142, -1, - 120, 121, -1, -1, -1, -1, 126, 10, 11, 12, + 134, 135, 136, 137, -1, -1, 140, 117, 142, -1, + 120, 121, -1, -1, -1, -1, 126, 11, -1, -1, -1, -1, -1, -1, 134, 135, 136, 137, 51, 64, 140, 54, 142, 56, 57, 58, 59, -1, -1, -1, 63, 76, 77, 66, -1, -1, -1, 70, -1, -1, - -1, -1, -1, -1, 77, -1, -1, -1, -1, -1, - -1, 84, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 64, -1, -1, -1, -1, -1, 100, 113, 114, - -1, 116, -1, 76, 77, -1, 121, -1, 123, -1, - -1, -1, 54, -1, 56, 57, 58, 120, 121, 134, - -1, -1, -1, 126, 139, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 77, -1, -1, 51, -1, -1, + 54, 84, 56, 57, 58, 59, 60, -1, -1, 63, + -1, -1, 66, -1, -1, -1, 70, 100, 113, 114, + -1, 116, -1, 77, -1, -1, 121, -1, 123, -1, + 84, -1, -1, -1, -1, -1, -1, 120, 121, 134, + -1, -1, -1, 126, 11, -1, 100, -1, -1, -1, -1, 134, 135, 136, 137, -1, -1, 140, -1, 142, - 113, 114, 84, 116, -1, -1, -1, -1, 121, 47, - 123, 49, -1, -1, 52, 53, -1, -1, 100, -1, - -1, 134, 60, 61, -1, -1, -1, -1, -1, -1, - -1, 69, -1, 71, 72, 73, 74, -1, 120, 121, + -1, -1, -1, -1, -1, -1, 120, 121, 11, -1, + -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, + 134, 135, 136, 137, 51, -1, 140, 54, 142, 56, + 57, 58, 59, 60, -1, -1, 63, -1, -1, 66, + -1, -1, -1, 70, -1, -1, -1, -1, 51, -1, + 77, 54, -1, 56, 57, 58, 59, 84, -1, -1, + 63, -1, -1, 66, -1, -1, -1, 70, -1, -1, + -1, -1, -1, 100, 77, -1, -1, -1, -1, -1, + -1, 84, 10, 11, 12, -1, -1, -1, -1, -1, + -1, -1, -1, 120, 121, 11, -1, 100, -1, 126, + -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, + 137, -1, -1, 140, -1, 142, -1, 120, 121, -1, + -1, -1, -1, 126, 10, 11, 12, -1, -1, -1, + -1, 134, 135, 136, 137, 51, 64, 140, 54, 142, + 56, 57, 58, 59, -1, -1, -1, 63, 76, 77, + 66, -1, -1, -1, 70, -1, -1, -1, -1, -1, + -1, 77, -1, -1, -1, -1, -1, -1, 84, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 64, -1, + -1, -1, -1, -1, 100, 113, 114, -1, 116, -1, + 76, 77, -1, 121, -1, 123, -1, -1, -1, 54, + -1, 56, 57, 58, 120, 121, 134, -1, -1, -1, + 126, 139, -1, -1, -1, -1, -1, -1, 134, 135, + 136, 137, -1, -1, 140, -1, 142, 113, 114, 84, + 116, -1, -1, -1, -1, 121, 47, 123, 49, -1, + -1, 52, 53, -1, -1, 100, -1, -1, 134, 60, + 61, -1, -1, 139, -1, -1, -1, -1, 69, -1, + 71, 72, 73, 74, -1, 120, 121, 78, -1, -1, + -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 137, -1, -1, -1, -1, 142, -1, -1, + 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, + -1, -1, -1, 114, 115, 116, 117, -1, -1, 47, + 165, 49, 123, 124, 52, 53, 127, 128, -1, -1, + -1, 132, 60, 61, -1, -1, -1, 138, 139, -1, + 141, 69, -1, 71, 72, 73, 74, -1, 149, -1, 78, -1, -1, -1, -1, 83, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 137, -1, -1, -1, -1, - 142, -1, -1, 101, 102, 103, 104, 105, 106, 107, + -1, -1, -1, -1, -1, -1, -1, 168, -1, -1, + -1, -1, -1, 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, 116, 117, - -1, -1, 47, 165, 49, 123, 124, 52, 53, 127, + -1, -1, 47, -1, 49, 123, 124, 52, 53, 127, 128, -1, -1, -1, 132, 60, 61, -1, -1, -1, 138, 139, -1, 141, 69, -1, 71, 72, 73, 74, -1, 149, -1, 78, -1, -1, -1, -1, 83, -1, @@ -3050,168 +3048,167 @@ static const yytype_int16 yycheck[] = 53, 127, 128, -1, -1, -1, 132, 60, 61, -1, -1, -1, 138, 139, -1, 141, 69, -1, 71, 72, 73, 74, -1, 149, -1, 78, -1, -1, -1, -1, - 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 168, -1, -1, -1, -1, -1, 101, 102, + 83, -1, -1, 10, 11, 12, -1, -1, 15, 10, + 11, 12, 168, 54, -1, 56, 57, 58, 101, 102, 103, 104, 105, 106, 107, 108, -1, -1, -1, -1, - -1, 114, 115, 116, 117, -1, -1, 47, -1, 49, - 123, 124, 52, 53, 127, 128, -1, -1, -1, 132, - 60, 61, -1, -1, -1, 138, 139, -1, 141, 69, - -1, 71, 72, 73, 74, -1, 149, -1, 78, -1, - -1, -1, -1, 83, -1, -1, 10, 11, 12, -1, - -1, 15, 10, 11, 12, 168, -1, -1, -1, -1, - -1, 101, 102, 103, 104, 105, 106, 107, 108, -1, - -1, -1, -1, -1, 114, 115, 116, 117, -1, -1, - -1, -1, -1, 123, 124, -1, -1, 127, 128, 47, - -1, 49, 132, -1, -1, -1, -1, -1, 138, 139, - 64, 141, -1, -1, -1, -1, 64, -1, 47, 149, - 49, -1, 76, 77, 53, -1, -1, -1, 76, 77, - -1, 60, 61, -1, -1, -1, -1, -1, 168, -1, - -1, -1, 71, 72, 73, -1, -1, -1, -1, 78, - -1, -1, -1, -1, 83, -1, -1, -1, -1, 113, - 114, -1, 116, -1, -1, 113, 114, 121, 116, 123, - -1, -1, -1, 121, -1, 123, -1, -1, 107, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, - -1, -1, -1, -1, 123, -1, -1, -1, -1, 128, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, - 139, 47, 141, 49, -1, -1, 52, 53, -1, -1, - -1, -1, -1, -1, 60, 61, -1, 156, -1, -1, - -1, -1, -1, 69, -1, 71, 72, 73, 74, -1, - -1, -1, 78, -1, -1, -1, -1, 83, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 101, 102, 103, 104, 105, - 106, 107, 108, -1, -1, -1, -1, -1, 114, 115, - 116, 117, -1, -1, 47, -1, 49, 123, 124, -1, - 53, 127, 128, 47, -1, 49, 132, 60, 61, 53, - -1, -1, 138, 139, -1, 141, 60, 61, 71, 72, - 73, -1, -1, -1, -1, 78, -1, 71, 72, 73, - 83, -1, -1, -1, -1, -1, -1, -1, -1, 83, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 107, -1, -1, -1, -1, -1, - -1, -1, -1, 107, 117, -1, -1, -1, -1, -1, - 123, -1, -1, 117, 127, 128, -1, -1, -1, 123, - -1, -1, -1, -1, 128, 138, 139, -1, 141, -1, - -1, -1, -1, -1, -1, 139, -1, 141 + -1, 114, 115, 116, 117, -1, -1, -1, -1, -1, + 123, 124, -1, 84, 127, 128, 47, -1, 49, 132, + -1, -1, -1, -1, -1, 138, 139, 64, 141, 100, + -1, -1, -1, 64, -1, -1, 149, -1, -1, 76, + 77, -1, -1, -1, -1, 76, 77, -1, -1, 120, + 121, -1, -1, -1, -1, 168, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 137, -1, -1, -1, + -1, 142, -1, -1, -1, -1, 113, 114, -1, 116, + -1, -1, 113, 114, 121, 116, 123, 47, -1, 49, + 121, -1, 123, 53, 165, -1, 47, -1, 49, -1, + 60, 61, 53, -1, -1, -1, -1, -1, -1, 60, + 61, 71, 72, 73, -1, -1, -1, -1, 78, -1, + 71, 72, 73, 83, -1, -1, -1, 78, -1, -1, + -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 107, -1, -1, + -1, -1, -1, -1, -1, -1, 107, 117, -1, -1, + -1, -1, -1, 123, -1, -1, 117, -1, 128, -1, + -1, -1, 123, -1, -1, -1, 127, 128, 138, 139, + 47, 141, 49, -1, -1, 52, 53, 138, 139, -1, + 141, -1, -1, 60, 61, -1, 156, -1, -1, -1, + -1, -1, 69, -1, 71, 72, 73, 74, -1, -1, + -1, 78, -1, -1, -1, -1, 83, -1, 47, -1, + 49, -1, -1, -1, 53, -1, -1, -1, -1, -1, + -1, 60, 61, -1, 101, 102, 103, 104, 105, 106, + 107, 108, 71, 72, 73, -1, -1, 114, 115, 116, + 117, -1, -1, -1, 83, -1, 123, 124, -1, -1, + 127, 128, -1, -1, -1, 132, -1, 47, -1, 49, + -1, 138, 139, 53, 141, -1, -1, -1, 107, 108, + 60, 61, -1, -1, -1, -1, -1, -1, 117, -1, + -1, 71, 72, 73, 123, -1, -1, -1, -1, 128, + -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, + 139, -1, 141, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 107, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, + -1, -1, -1, 123, -1, -1, -1, -1, 128, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, + -1, 141 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 144, 145, 146, 172, 173, 282, 3, 4, 5, + 0, 144, 145, 146, 172, 173, 283, 3, 4, 5, 6, 8, 9, 10, 11, 50, 54, 56, 57, 58, 62, 66, 67, 75, 76, 77, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 109, 111, 113, 118, 120, 121, 122, 125, 130, 133, 137, 142, 155, 158, 159, 160, - 163, 165, 166, 169, 272, 273, 281, 11, 12, 51, + 163, 165, 166, 169, 273, 274, 282, 11, 12, 51, 54, 56, 57, 58, 59, 60, 63, 66, 70, 77, 84, 100, 120, 121, 126, 134, 135, 136, 137, 140, - 142, 234, 235, 239, 241, 243, 249, 250, 254, 255, - 260, 261, 262, 263, 0, 47, 49, 52, 53, 60, + 142, 234, 235, 239, 241, 243, 249, 251, 255, 256, + 261, 262, 263, 264, 0, 47, 49, 52, 53, 60, 61, 69, 71, 72, 73, 74, 78, 83, 101, 102, 103, 104, 105, 106, 107, 108, 114, 115, 116, 117, 123, 124, 127, 128, 132, 138, 139, 141, 149, 176, - 178, 179, 181, 185, 205, 256, 259, 282, 147, 165, + 178, 179, 181, 185, 205, 257, 260, 283, 147, 165, 165, 165, 165, 165, 165, 156, 165, 156, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 11, 51, 63, - 134, 135, 237, 254, 255, 260, 156, 165, 165, 15, - 165, 272, 156, 165, 165, 165, 272, 272, 272, 272, - 272, 11, 54, 56, 57, 58, 66, 77, 84, 100, - 120, 121, 137, 142, 239, 270, 272, 10, 11, 12, + 134, 135, 237, 255, 256, 261, 156, 165, 165, 15, + 165, 273, 156, 165, 165, 165, 273, 273, 273, 273, + 273, 11, 54, 56, 57, 58, 66, 77, 84, 100, + 120, 121, 137, 142, 239, 271, 273, 10, 11, 12, 64, 76, 77, 113, 114, 116, 121, 123, 151, 155, - 160, 276, 277, 279, 282, 272, 16, 17, 18, 19, + 160, 277, 278, 280, 283, 273, 16, 17, 18, 19, 20, 21, 22, 23, 33, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 164, 165, 166, 6, - 8, 234, 235, 165, 59, 126, 66, 100, 261, 261, - 261, 279, 165, 261, 13, 15, 17, 60, 141, 155, - 160, 165, 232, 233, 282, 233, 147, 10, 11, 12, - 113, 150, 280, 240, 282, 138, 183, 184, 279, 165, + 8, 234, 235, 165, 59, 126, 66, 100, 262, 262, + 262, 280, 165, 262, 13, 15, 17, 60, 141, 155, + 160, 165, 232, 233, 283, 233, 250, 10, 11, 12, + 113, 150, 281, 240, 283, 138, 183, 184, 280, 165, 72, 83, 181, 181, 181, 181, 6, 181, 205, 181, 150, 180, 108, 181, 165, 165, 165, 165, 165, 165, - 181, 147, 279, 150, 150, 150, 181, 181, 165, 179, - 181, 185, 206, 181, 181, 189, 108, 279, 181, 181, + 181, 147, 280, 150, 150, 150, 181, 181, 165, 179, + 181, 185, 206, 181, 181, 189, 108, 280, 181, 181, 10, 11, 51, 63, 112, 134, 135, 147, 163, 192, - 196, 236, 238, 241, 243, 249, 254, 255, 260, 269, - 270, 282, 269, 239, 269, 269, 269, 269, 239, 269, - 239, 269, 239, 269, 239, 239, 239, 239, 239, 239, - 239, 239, 239, 239, 239, 239, 239, 239, 239, 269, - 165, 279, 165, 165, 279, 240, 239, 269, 269, 165, - 239, 239, 239, 272, 269, 269, 167, 148, 167, 279, - 279, 148, 170, 151, 222, 282, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 279, 167, 270, 272, - 233, 233, 51, 272, 239, 160, 279, 47, 49, 182, - 282, 232, 233, 232, 233, 182, 182, 15, 17, 47, - 60, 117, 155, 160, 217, 218, 227, 234, 235, 282, - 166, 252, 253, 282, 11, 251, 261, 150, 10, 11, - 12, 47, 49, 113, 147, 279, 280, 279, 48, 148, - 165, 11, 236, 272, 181, 178, 147, 279, 279, 279, - 279, 279, 279, 279, 173, 147, 272, 156, 10, 11, - 196, 236, 238, 279, 149, 151, 165, 165, 165, 60, - 234, 279, 165, 177, 279, 187, 147, 149, 151, 224, - 149, 186, 279, 280, 240, 168, 167, 167, 167, 167, - 167, 167, 157, 167, 157, 167, 167, 167, 167, 148, - 167, 148, 167, 148, 167, 167, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 272, 239, 269, 279, 157, - 167, 167, 279, 167, 157, 167, 167, 167, 167, 272, - 272, 15, 155, 277, 165, 202, 282, 272, 150, 167, - 170, 167, 167, 167, 182, 182, 183, 165, 13, 15, - 17, 60, 141, 155, 160, 232, 282, 232, 232, 182, - 183, 117, 234, 235, 227, 182, 182, 167, 15, 148, - 13, 17, 60, 141, 155, 160, 165, 230, 280, 282, - 13, 15, 17, 60, 141, 155, 160, 165, 231, 268, - 272, 282, 279, 168, 251, 183, 165, 242, 244, 150, - 181, 183, 3, 4, 5, 9, 10, 15, 50, 62, - 67, 75, 76, 109, 111, 113, 118, 122, 125, 130, - 133, 155, 158, 159, 163, 165, 169, 219, 220, 227, - 228, 274, 275, 281, 282, 167, 167, 173, 147, 148, - 148, 148, 148, 148, 148, 168, 257, 148, 167, 10, - 11, 12, 59, 60, 134, 207, 208, 209, 210, 211, - 260, 282, 165, 224, 190, 149, 239, 193, 10, 13, - 160, 195, 51, 272, 234, 13, 17, 60, 141, 155, - 160, 229, 280, 282, 239, 173, 165, 147, 149, 150, - 151, 223, 264, 265, 64, 65, 147, 272, 13, 17, - 60, 112, 141, 155, 160, 165, 188, 212, 214, 280, - 150, 279, 165, 165, 239, 239, 239, 167, 167, 167, - 165, 167, 165, 222, 217, 17, 33, 47, 60, 61, - 76, 107, 110, 113, 129, 141, 155, 215, 282, 272, - 232, 48, 236, 272, 160, 279, 182, 232, 232, 182, - 182, 166, 232, 48, 234, 235, 230, 231, 232, 232, - 202, 15, 227, 160, 182, 230, 230, 182, 182, 230, - 166, 222, 182, 160, 279, 182, 231, 231, 182, 182, - 231, 166, 222, 170, 148, 151, 48, 236, 272, 173, - 76, 245, 282, 184, 165, 156, 156, 237, 156, 15, - 165, 274, 156, 165, 272, 272, 272, 272, 239, 270, - 272, 167, 15, 148, 16, 17, 18, 19, 20, 21, - 22, 23, 33, 152, 153, 154, 155, 156, 157, 158, - 159, 160, 161, 162, 164, 165, 166, 181, 181, 168, - 258, 10, 10, 10, 10, 10, 10, 173, 281, 149, - 211, 157, 148, 15, 279, 13, 17, 60, 141, 155, - 160, 165, 230, 231, 191, 214, 149, 217, 167, 160, - 212, 217, 167, 167, 229, 160, 182, 229, 229, 182, - 182, 165, 166, 182, 167, 168, 197, 264, 174, 175, - 279, 64, 65, 168, 266, 282, 149, 149, 147, 225, - 226, 272, 282, 149, 160, 182, 212, 6, 16, 17, - 18, 19, 20, 21, 22, 23, 33, 35, 36, 37, - 38, 39, 40, 41, 42, 43, 44, 45, 46, 65, - 109, 148, 151, 153, 154, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 165, 166, 169, 203, 212, 182, - 182, 212, 150, 165, 166, 215, 151, 222, 224, 182, - 251, 270, 270, 167, 167, 167, 270, 270, 167, 60, - 237, 183, 165, 147, 182, 167, 167, 182, 182, 232, - 232, 232, 268, 167, 227, 230, 231, 222, 222, 167, - 167, 215, 182, 230, 230, 230, 167, 268, 182, 182, - 231, 231, 231, 167, 268, 182, 272, 167, 167, 168, - 150, 246, 247, 282, 239, 239, 239, 165, 239, 165, - 239, 239, 239, 272, 167, 167, 15, 228, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 279, 167, - 270, 272, 173, 148, 148, 167, 148, 216, 282, 148, + 196, 236, 238, 241, 243, 249, 255, 256, 261, 270, + 271, 283, 270, 239, 270, 270, 270, 270, 239, 270, + 239, 270, 239, 270, 239, 239, 239, 239, 239, 239, + 239, 239, 239, 239, 239, 239, 239, 239, 239, 270, + 165, 280, 165, 165, 280, 240, 239, 270, 270, 165, + 239, 239, 239, 273, 270, 270, 167, 148, 167, 280, + 280, 148, 170, 151, 222, 283, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 280, 167, 271, 273, + 233, 233, 51, 273, 239, 160, 280, 47, 49, 182, + 283, 232, 233, 232, 233, 182, 182, 15, 17, 47, + 60, 117, 155, 160, 217, 218, 227, 234, 235, 283, + 166, 147, 11, 252, 262, 150, 10, 11, 12, 47, + 49, 113, 147, 280, 281, 280, 48, 148, 165, 11, + 236, 273, 181, 178, 147, 280, 280, 280, 280, 280, + 280, 280, 173, 147, 273, 156, 10, 11, 196, 236, + 238, 280, 149, 151, 165, 165, 165, 60, 234, 280, + 165, 177, 280, 187, 147, 149, 151, 224, 149, 186, + 280, 281, 240, 168, 167, 167, 167, 167, 167, 167, + 157, 167, 157, 167, 167, 167, 167, 148, 167, 148, + 167, 148, 167, 167, 167, 167, 167, 167, 167, 167, + 167, 167, 167, 273, 239, 270, 280, 157, 167, 167, + 280, 167, 157, 167, 167, 167, 167, 273, 273, 15, + 155, 278, 165, 202, 283, 273, 150, 167, 170, 167, + 167, 167, 182, 182, 183, 165, 13, 15, 17, 60, + 141, 155, 160, 232, 283, 232, 232, 182, 183, 117, + 234, 235, 227, 182, 182, 167, 15, 148, 13, 17, + 60, 141, 155, 160, 165, 230, 281, 283, 13, 15, + 17, 60, 141, 155, 160, 165, 231, 269, 273, 283, + 253, 254, 283, 252, 183, 165, 242, 244, 150, 181, + 183, 3, 4, 5, 9, 10, 15, 50, 62, 67, + 75, 76, 109, 111, 113, 118, 122, 125, 130, 133, + 155, 158, 159, 163, 165, 169, 219, 220, 227, 228, + 275, 276, 282, 283, 167, 167, 173, 147, 148, 148, + 148, 148, 148, 148, 168, 258, 148, 167, 10, 11, + 12, 59, 60, 134, 207, 208, 209, 210, 211, 261, + 283, 165, 224, 190, 149, 239, 193, 10, 13, 160, + 195, 51, 273, 234, 13, 17, 60, 141, 155, 160, + 229, 281, 283, 239, 173, 165, 147, 149, 150, 151, + 223, 265, 266, 64, 65, 147, 273, 13, 17, 60, + 112, 141, 155, 160, 165, 188, 212, 214, 281, 150, + 280, 165, 165, 239, 239, 239, 167, 167, 167, 165, + 167, 165, 222, 217, 17, 33, 47, 60, 61, 76, + 107, 110, 113, 129, 141, 155, 215, 283, 273, 232, + 48, 236, 273, 160, 280, 182, 232, 232, 182, 182, + 166, 232, 48, 234, 235, 230, 231, 232, 232, 202, + 15, 227, 160, 182, 230, 230, 182, 182, 230, 166, + 222, 182, 160, 280, 182, 231, 231, 182, 182, 231, + 166, 222, 170, 280, 168, 48, 236, 273, 173, 76, + 245, 283, 184, 165, 156, 156, 237, 156, 15, 165, + 275, 156, 165, 273, 273, 273, 273, 239, 271, 273, + 167, 15, 148, 16, 17, 18, 19, 20, 21, 22, + 23, 33, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 164, 165, 166, 181, 181, 168, 259, + 10, 10, 10, 10, 10, 10, 173, 282, 149, 211, + 157, 148, 15, 280, 13, 17, 60, 141, 155, 160, + 165, 230, 231, 191, 214, 149, 217, 167, 160, 212, + 217, 167, 167, 229, 160, 182, 229, 229, 182, 182, + 165, 166, 182, 167, 168, 197, 265, 174, 175, 280, + 64, 65, 168, 267, 283, 149, 149, 147, 225, 226, + 273, 283, 149, 160, 182, 212, 6, 16, 17, 18, + 19, 20, 21, 22, 23, 33, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 65, 109, + 148, 151, 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 165, 166, 169, 203, 212, 182, 182, + 212, 150, 165, 166, 215, 151, 222, 224, 182, 252, + 271, 271, 167, 167, 167, 271, 271, 167, 60, 237, + 183, 165, 147, 182, 167, 167, 182, 182, 232, 232, + 232, 269, 167, 227, 230, 231, 222, 222, 167, 167, + 215, 182, 230, 230, 230, 167, 269, 182, 182, 231, + 231, 231, 167, 269, 182, 148, 151, 167, 167, 168, + 150, 246, 247, 283, 239, 239, 239, 165, 239, 165, + 239, 239, 239, 273, 167, 167, 15, 228, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 280, 167, + 271, 273, 173, 148, 148, 167, 148, 216, 283, 148, 148, 148, 168, 167, 230, 231, 179, 185, 204, 205, - 210, 279, 151, 160, 182, 182, 182, 151, 221, 282, + 210, 280, 151, 160, 182, 182, 182, 151, 221, 283, 222, 224, 167, 165, 212, 167, 167, 165, 182, 229, - 229, 229, 200, 268, 217, 168, 147, 148, 147, 165, + 229, 229, 200, 269, 217, 168, 147, 148, 147, 165, 149, 149, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 33, 34, 35, 36, 37, 38, @@ -3225,42 +3222,42 @@ static const yytype_int16 yystos[] = 136, 137, 138, 139, 140, 141, 142, 143, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 169, - 170, 267, 225, 168, 148, 182, 212, 10, 167, 170, - 182, 212, 212, 167, 272, 213, 268, 272, 148, 167, - 167, 167, 167, 202, 237, 233, 48, 167, 279, 264, + 170, 268, 225, 168, 148, 182, 212, 10, 167, 170, + 182, 212, 212, 167, 273, 213, 269, 273, 148, 167, + 167, 167, 167, 202, 237, 233, 48, 167, 280, 265, 182, 182, 232, 170, 165, 222, 222, 165, 165, 230, - 165, 170, 231, 165, 170, 148, 114, 115, 116, 134, - 139, 248, 278, 279, 147, 148, 167, 157, 157, 269, - 157, 279, 167, 157, 167, 167, 272, 150, 167, 170, + 165, 170, 231, 165, 170, 273, 114, 115, 116, 134, + 139, 248, 279, 280, 147, 148, 167, 157, 157, 270, + 157, 280, 167, 157, 167, 167, 273, 150, 167, 170, 168, 10, 10, 149, 10, 167, 10, 10, 10, 149, 221, 239, 182, 50, 62, 67, 118, 122, 125, 155, - 158, 159, 160, 163, 165, 169, 271, 273, 148, 202, - 194, 167, 165, 202, 201, 229, 217, 170, 167, 264, - 175, 269, 269, 266, 168, 147, 272, 212, 182, 219, + 158, 159, 160, 163, 165, 169, 272, 274, 148, 202, + 194, 167, 165, 202, 201, 229, 217, 170, 167, 265, + 175, 270, 270, 267, 168, 147, 273, 212, 182, 219, 170, 188, 215, 233, 15, 167, 168, 182, 217, 217, - 217, 217, 182, 217, 182, 139, 278, 139, 278, 139, - 278, 279, 114, 115, 116, 15, 173, 248, 165, 165, - 167, 165, 167, 165, 272, 167, 148, 167, 148, 149, - 148, 167, 167, 148, 167, 165, 156, 156, 156, 15, - 165, 271, 156, 271, 271, 271, 271, 271, 239, 270, - 271, 16, 17, 18, 19, 20, 21, 22, 23, 33, - 152, 153, 154, 155, 158, 159, 160, 161, 162, 164, - 165, 166, 191, 217, 165, 198, 217, 167, 182, 202, - 168, 168, 167, 168, 225, 167, 182, 147, 167, 167, - 167, 167, 167, 167, 278, 278, 278, 278, 278, 278, - 168, 270, 270, 270, 270, 149, 10, 149, 10, 10, - 149, 149, 10, 149, 239, 239, 239, 239, 165, 239, - 239, 167, 167, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 279, 167, 270, 272, 167, 199, 217, 167, 202, - 15, 168, 202, 264, 202, 202, 202, 202, 202, 167, - 167, 167, 167, 148, 216, 167, 148, 148, 167, 167, - 157, 157, 157, 279, 167, 157, 271, 150, 167, 170, - 202, 217, 167, 202, 168, 215, 215, 215, 10, 167, - 149, 10, 10, 149, 165, 165, 165, 167, 165, 271, - 167, 202, 149, 167, 148, 167, 270, 270, 270, 270, - 202, 215, 149, 10, 149, 167, 167, 167, 167, 215, - 167, 149 + 217, 217, 182, 217, 182, 148, 139, 279, 139, 279, + 139, 279, 280, 114, 115, 116, 15, 173, 248, 165, + 165, 167, 165, 167, 165, 273, 167, 148, 167, 148, + 149, 148, 167, 167, 148, 167, 165, 156, 156, 156, + 15, 165, 272, 156, 272, 272, 272, 272, 272, 239, + 271, 272, 16, 17, 18, 19, 20, 21, 22, 23, + 33, 152, 153, 154, 155, 158, 159, 160, 161, 162, + 164, 165, 166, 191, 217, 165, 198, 217, 167, 182, + 202, 168, 168, 167, 168, 225, 167, 182, 147, 167, + 167, 167, 167, 167, 167, 279, 279, 279, 279, 279, + 279, 168, 271, 271, 271, 271, 149, 10, 149, 10, + 10, 149, 149, 10, 149, 239, 239, 239, 239, 165, + 239, 239, 167, 167, 272, 272, 272, 272, 272, 272, + 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, + 272, 272, 280, 167, 271, 273, 167, 199, 217, 167, + 202, 15, 168, 202, 265, 202, 202, 202, 202, 202, + 167, 167, 167, 167, 148, 216, 167, 148, 148, 167, + 167, 157, 157, 157, 280, 167, 157, 272, 150, 167, + 170, 202, 217, 167, 202, 168, 215, 215, 215, 10, + 167, 149, 10, 10, 149, 165, 165, 165, 167, 165, + 272, 167, 202, 149, 167, 148, 167, 271, 271, 271, + 271, 202, 215, 149, 10, 149, 167, 167, 167, 167, + 215, 167, 149 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -3302,47 +3299,48 @@ static const yytype_int16 yyr1[] = 237, 237, 237, 237, 237, 237, 237, 238, 238, 239, 239, 239, 239, 240, 240, 240, 240, 242, 241, 244, 243, 245, 245, 246, 246, 247, 247, 248, 248, 248, - 248, 248, 248, 248, 248, 248, 248, 249, 250, 250, - 250, 250, 251, 251, 252, 252, 252, 253, 253, 253, - 254, 254, 254, 255, 255, 255, 257, 256, 258, 256, - 256, 256, 259, 259, 259, 260, 260, 260, 261, 261, - 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, - 261, 261, 262, 262, 262, 263, 265, 264, 266, 266, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 267, - 267, 267, 267, 267, 267, 267, 267, 267, 267, 268, - 268, 269, 269, 270, 270, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 272, 272, 272, 272, 272, 272, + 248, 248, 248, 248, 248, 248, 248, 250, 249, 251, + 251, 251, 251, 252, 252, 253, 253, 253, 254, 254, + 254, 255, 255, 255, 256, 256, 256, 258, 257, 259, + 257, 257, 257, 260, 260, 260, 261, 261, 261, 262, + 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, + 262, 262, 262, 263, 263, 263, 264, 266, 265, 267, + 267, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, + 269, 269, 270, 270, 271, 271, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 272, 273, 273, 273, 273, 273, 273, 273, + 272, 272, 272, 272, 272, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 273, 273, 273, 273, 273, 273, + 273, 273, 273, 273, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 275, 275, 275, + 274, 274, 274, 274, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, 276, 276, - 276, 276, 276, 277, 277, 277, 277, 278, 278, 278, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 280, 280, 280, 280, 281, 281, 281, 281, 282 + 276, 276, 276, 276, 276, 276, 276, 276, 276, 277, + 277, 277, 277, 277, 278, 278, 278, 278, 279, 279, + 279, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 281, 281, 281, 281, 282, 282, 282, 282, + 283 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -3384,12 +3382,13 @@ static const yytype_int8 yyr2[] = 1, 2, 3, 2, 4, 4, 1, 1, 1, 2, 3, 2, 3, 1, 4, 5, 5, 0, 6, 0, 9, 1, 1, 1, 1, 2, 3, 1, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 4, 3, 1, - 4, 2, 1, 1, 1, 3, 5, 1, 2, 4, - 1, 2, 2, 1, 1, 1, 0, 6, 0, 7, - 4, 5, 3, 5, 4, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 1, 1, 2, 1, 0, 2, 1, 2, + 2, 3, 3, 3, 3, 3, 3, 0, 5, 3, + 1, 4, 2, 1, 1, 1, 3, 5, 1, 2, + 4, 1, 2, 2, 1, 1, 1, 0, 6, 0, + 7, 4, 5, 3, 5, 4, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + 2, 2, 2, 1, 1, 2, 1, 0, 2, 1, + 2, 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, 1, 1, 1, @@ -3401,30 +3400,30 @@ static const yytype_int8 yyr2[] = 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, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 1, 1, 1, 1, 3, 1, 4, 7, 7, 7, - 7, 4, 2, 5, 4, 2, 2, 2, 2, 2, - 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, - 3, 3, 3, 3, 1, 4, 7, 7, 7, 7, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 2, 5, 4, 2, 5, - 4, 4, 2, 2, 2, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, - 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 8, 11, 4, 4, 6, 4, - 4, 6, 6, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 1, 4, 7, 7, 7, 7, 4, - 2, 5, 4, 2, 5, 4, 4, 2, 2, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, + 1, 1, 1, 1, 1, 3, 1, 4, 7, 7, + 7, 7, 4, 2, 5, 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, + 4, 3, 3, 3, 3, 1, 4, 7, 7, 7, + 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 2, 5, 4, 2, + 5, 4, 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 8, 11, 4, 4, 6, + 4, 4, 6, 6, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 1, 4, 7, 7, 7, 7, + 4, 2, 5, 4, 2, 5, 4, 4, 2, 2, + 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 4, 2, 3, 1, 2, 1, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 0 + 1, 1, 2, 4, 2, 3, 1, 2, 1, 2, + 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 0 }; @@ -4013,7 +4012,7 @@ yyreduce: { current_expr = (yyvsp[0].u.expr); } -#line 4017 "built/tmp/cppBison.yxx.c" +#line 4016 "built/tmp/cppBison.yxx.c" break; case 4: /* grammar: START_TYPE full_type */ @@ -4021,7 +4020,7 @@ yyreduce: { current_type = (yyvsp[0].u.type); } -#line 4025 "built/tmp/cppBison.yxx.c" +#line 4024 "built/tmp/cppBison.yxx.c" break; case 10: /* constructor_init: name '(' optional_const_expr_comma ')' */ @@ -4029,7 +4028,7 @@ yyreduce: { delete (yyvsp[-1].u.expr); } -#line 4033 "built/tmp/cppBison.yxx.c" +#line 4032 "built/tmp/cppBison.yxx.c" break; case 11: /* constructor_init: name '(' optional_const_expr_comma ')' ELLIPSIS */ @@ -4037,7 +4036,7 @@ yyreduce: { delete (yyvsp[-2].u.expr); } -#line 4041 "built/tmp/cppBison.yxx.c" +#line 4040 "built/tmp/cppBison.yxx.c" break; case 12: /* constructor_init: name '{' optional_const_expr_comma '}' */ @@ -4045,7 +4044,7 @@ yyreduce: { delete (yyvsp[-1].u.expr); } -#line 4049 "built/tmp/cppBison.yxx.c" +#line 4048 "built/tmp/cppBison.yxx.c" break; case 13: /* $@1: %empty */ @@ -4054,7 +4053,7 @@ yyreduce: push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding)); } -#line 4058 "built/tmp/cppBison.yxx.c" +#line 4057 "built/tmp/cppBison.yxx.c" break; case 14: /* extern_c: storage_class '{' $@1 cpp '}' */ @@ -4062,7 +4061,7 @@ yyreduce: { pop_storage_class(); } -#line 4066 "built/tmp/cppBison.yxx.c" +#line 4065 "built/tmp/cppBison.yxx.c" break; case 21: /* declaration: KW_BEGIN_PUBLISH */ @@ -4079,7 +4078,7 @@ yyreduce: publish_nest_level++; current_scope->set_current_vis(V_published); } -#line 4083 "built/tmp/cppBison.yxx.c" +#line 4082 "built/tmp/cppBison.yxx.c" break; case 22: /* declaration: KW_END_PUBLISH */ @@ -4092,7 +4091,7 @@ yyreduce: } publish_nest_level = 0; } -#line 4096 "built/tmp/cppBison.yxx.c" +#line 4095 "built/tmp/cppBison.yxx.c" break; case 23: /* declaration: KW_PUBLISHED ':' */ @@ -4100,7 +4099,7 @@ yyreduce: { current_scope->set_current_vis(V_published); } -#line 4104 "built/tmp/cppBison.yxx.c" +#line 4103 "built/tmp/cppBison.yxx.c" break; case 24: /* declaration: KW_PUBLIC ':' */ @@ -4112,7 +4111,7 @@ yyreduce: current_scope->set_current_vis(V_public); } } -#line 4116 "built/tmp/cppBison.yxx.c" +#line 4115 "built/tmp/cppBison.yxx.c" break; case 25: /* declaration: KW_PROTECTED ':' */ @@ -4120,7 +4119,7 @@ yyreduce: { current_scope->set_current_vis(V_protected); } -#line 4124 "built/tmp/cppBison.yxx.c" +#line 4123 "built/tmp/cppBison.yxx.c" break; case 26: /* declaration: KW_PRIVATE ':' */ @@ -4128,7 +4127,7 @@ yyreduce: { current_scope->set_current_vis(V_private); } -#line 4132 "built/tmp/cppBison.yxx.c" +#line 4131 "built/tmp/cppBison.yxx.c" break; case 27: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER maybe_comma_identifier ')' ';' */ @@ -4153,7 +4152,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7])); } } -#line 4157 "built/tmp/cppBison.yxx.c" +#line 4156 "built/tmp/cppBison.yxx.c" break; case 28: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4184,7 +4183,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4188 "built/tmp/cppBison.yxx.c" +#line 4187 "built/tmp/cppBison.yxx.c" break; case 29: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4209,7 +4208,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4213 "built/tmp/cppBison.yxx.c" +#line 4212 "built/tmp/cppBison.yxx.c" break; case 30: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4242,7 +4241,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4246 "built/tmp/cppBison.yxx.c" +#line 4245 "built/tmp/cppBison.yxx.c" break; case 31: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4282,7 +4281,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4286 "built/tmp/cppBison.yxx.c" +#line 4285 "built/tmp/cppBison.yxx.c" break; case 32: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4329,7 +4328,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14])); } } -#line 4333 "built/tmp/cppBison.yxx.c" +#line 4332 "built/tmp/cppBison.yxx.c" break; case 33: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ')' ';' */ @@ -4345,7 +4344,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6])); } } -#line 4349 "built/tmp/cppBison.yxx.c" +#line 4348 "built/tmp/cppBison.yxx.c" break; case 34: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4370,7 +4369,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4374 "built/tmp/cppBison.yxx.c" +#line 4373 "built/tmp/cppBison.yxx.c" break; case 35: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER maybe_comma_identifier ')' ';' */ @@ -4410,7 +4409,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11])); } } -#line 4414 "built/tmp/cppBison.yxx.c" +#line 4413 "built/tmp/cppBison.yxx.c" break; case 36: /* declaration: KW_MAKE_MAP_KEYS_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4448,7 +4447,7 @@ yyreduce: } } } -#line 4452 "built/tmp/cppBison.yxx.c" +#line 4451 "built/tmp/cppBison.yxx.c" break; case 37: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4474,7 +4473,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4478 "built/tmp/cppBison.yxx.c" +#line 4477 "built/tmp/cppBison.yxx.c" break; case 38: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4514,7 +4513,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4518 "built/tmp/cppBison.yxx.c" +#line 4517 "built/tmp/cppBison.yxx.c" break; case 39: /* declaration: KW_MAKE_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4540,7 +4539,7 @@ yyreduce: current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8])); } } -#line 4544 "built/tmp/cppBison.yxx.c" +#line 4543 "built/tmp/cppBison.yxx.c" break; case 40: /* declaration: KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' ';' */ @@ -4555,7 +4554,7 @@ yyreduce: yywarning("static_assert failed: " + str.str(), (yylsp[-4])); } } -#line 4559 "built/tmp/cppBison.yxx.c" +#line 4558 "built/tmp/cppBison.yxx.c" break; case 41: /* declaration: KW_STATIC_ASSERT '(' const_expr ')' ';' */ @@ -4569,7 +4568,7 @@ yyreduce: yywarning("static_assert failed", (yylsp[-2])); } } -#line 4573 "built/tmp/cppBison.yxx.c" +#line 4572 "built/tmp/cppBison.yxx.c" break; case 42: /* $@2: %empty */ @@ -4579,7 +4578,7 @@ yyreduce: V_public); push_scope(new_scope); } -#line 4583 "built/tmp/cppBison.yxx.c" +#line 4582 "built/tmp/cppBison.yxx.c" break; case 43: /* friend_declaration: KW_FRIEND $@2 declaration */ @@ -4588,7 +4587,7 @@ yyreduce: delete current_scope; pop_scope(); } -#line 4592 "built/tmp/cppBison.yxx.c" +#line 4591 "built/tmp/cppBison.yxx.c" break; case 44: /* storage_class: empty */ @@ -4596,7 +4595,7 @@ yyreduce: { (yyval.u.integer) = 0; } -#line 4600 "built/tmp/cppBison.yxx.c" +#line 4599 "built/tmp/cppBison.yxx.c" break; case 45: /* storage_class: KW_CONST storage_class */ @@ -4605,7 +4604,7 @@ yyreduce: // This isn't really a storage class, but it helps with parsing. (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_const; } -#line 4609 "built/tmp/cppBison.yxx.c" +#line 4608 "built/tmp/cppBison.yxx.c" break; case 46: /* storage_class: KW_EXTERN storage_class */ @@ -4613,7 +4612,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; } -#line 4617 "built/tmp/cppBison.yxx.c" +#line 4616 "built/tmp/cppBison.yxx.c" break; case 47: /* storage_class: KW_EXTERN SIMPLE_STRING storage_class */ @@ -4628,7 +4627,7 @@ yyreduce: yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1])); } } -#line 4632 "built/tmp/cppBison.yxx.c" +#line 4631 "built/tmp/cppBison.yxx.c" break; case 48: /* storage_class: KW_STATIC storage_class */ @@ -4636,7 +4635,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static; } -#line 4640 "built/tmp/cppBison.yxx.c" +#line 4639 "built/tmp/cppBison.yxx.c" break; case 49: /* storage_class: KW_INLINE storage_class */ @@ -4644,7 +4643,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline; } -#line 4648 "built/tmp/cppBison.yxx.c" +#line 4647 "built/tmp/cppBison.yxx.c" break; case 50: /* storage_class: KW_VIRTUAL storage_class */ @@ -4652,7 +4651,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual; } -#line 4656 "built/tmp/cppBison.yxx.c" +#line 4655 "built/tmp/cppBison.yxx.c" break; case 51: /* storage_class: KW_EXPLICIT storage_class */ @@ -4660,7 +4659,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } -#line 4664 "built/tmp/cppBison.yxx.c" +#line 4663 "built/tmp/cppBison.yxx.c" break; case 52: /* storage_class: KW_REGISTER storage_class */ @@ -4668,7 +4667,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register; } -#line 4672 "built/tmp/cppBison.yxx.c" +#line 4671 "built/tmp/cppBison.yxx.c" break; case 53: /* storage_class: KW_VOLATILE storage_class */ @@ -4676,7 +4675,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile; } -#line 4680 "built/tmp/cppBison.yxx.c" +#line 4679 "built/tmp/cppBison.yxx.c" break; case 54: /* storage_class: KW_MUTABLE storage_class */ @@ -4684,7 +4683,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable; } -#line 4688 "built/tmp/cppBison.yxx.c" +#line 4687 "built/tmp/cppBison.yxx.c" break; case 55: /* storage_class: KW_CONSTEXPR storage_class */ @@ -4692,7 +4691,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr; } -#line 4696 "built/tmp/cppBison.yxx.c" +#line 4695 "built/tmp/cppBison.yxx.c" break; case 56: /* storage_class: KW_BLOCKING storage_class */ @@ -4700,7 +4699,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking; } -#line 4704 "built/tmp/cppBison.yxx.c" +#line 4703 "built/tmp/cppBison.yxx.c" break; case 57: /* storage_class: KW_EXTENSION storage_class */ @@ -4708,7 +4707,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension; } -#line 4712 "built/tmp/cppBison.yxx.c" +#line 4711 "built/tmp/cppBison.yxx.c" break; case 58: /* storage_class: KW_THREAD_LOCAL storage_class */ @@ -4716,7 +4715,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local; } -#line 4720 "built/tmp/cppBison.yxx.c" +#line 4719 "built/tmp/cppBison.yxx.c" break; case 59: /* storage_class: ATTR_LEFT attribute_specifiers ATTR_RIGHT storage_class */ @@ -4725,7 +4724,7 @@ yyreduce: // Ignore attribute specifiers for now. (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4729 "built/tmp/cppBison.yxx.c" +#line 4728 "built/tmp/cppBison.yxx.c" break; case 60: /* storage_class: KW_ALIGNAS '(' const_expr ')' storage_class */ @@ -4733,7 +4732,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4737 "built/tmp/cppBison.yxx.c" +#line 4736 "built/tmp/cppBison.yxx.c" break; case 61: /* storage_class: KW_ALIGNAS '(' type_decl ')' storage_class */ @@ -4741,7 +4740,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer); } -#line 4745 "built/tmp/cppBison.yxx.c" +#line 4744 "built/tmp/cppBison.yxx.c" break; case 71: /* $@3: %empty */ @@ -4756,7 +4755,7 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4760 "built/tmp/cppBison.yxx.c" +#line 4759 "built/tmp/cppBison.yxx.c" break; case 72: /* type_like_declaration: storage_class var_type_decl $@3 multiple_instance_identifiers */ @@ -4764,7 +4763,7 @@ yyreduce: { pop_storage_class(); } -#line 4768 "built/tmp/cppBison.yxx.c" +#line 4767 "built/tmp/cppBison.yxx.c" break; case 73: /* type_like_declaration: storage_class type_decl ';' */ @@ -4777,7 +4776,7 @@ yyreduce: current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1])); } -#line 4781 "built/tmp/cppBison.yxx.c" +#line 4780 "built/tmp/cppBison.yxx.c" break; case 74: /* $@4: %empty */ @@ -4790,7 +4789,7 @@ yyreduce: (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer)); } } -#line 4794 "built/tmp/cppBison.yxx.c" +#line 4793 "built/tmp/cppBison.yxx.c" break; case 75: /* type_like_declaration: storage_class constructor_prototype $@4 maybe_initialize_or_constructor_body */ @@ -4802,7 +4801,7 @@ yyreduce: (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4806 "built/tmp/cppBison.yxx.c" +#line 4805 "built/tmp/cppBison.yxx.c" break; case 76: /* type_like_declaration: storage_class function_prototype maybe_initialize_or_function_body */ @@ -4814,7 +4813,7 @@ yyreduce: (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4818 "built/tmp/cppBison.yxx.c" +#line 4817 "built/tmp/cppBison.yxx.c" break; case 78: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ @@ -4829,7 +4828,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1])); } -#line 4833 "built/tmp/cppBison.yxx.c" +#line 4832 "built/tmp/cppBison.yxx.c" break; case 79: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' multiple_instance_identifiers */ @@ -4844,7 +4843,7 @@ yyreduce: inst->set_initializer((yyvsp[-2].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3])); } -#line 4848 "built/tmp/cppBison.yxx.c" +#line 4847 "built/tmp/cppBison.yxx.c" break; case 80: /* $@5: %empty */ @@ -4859,7 +4858,7 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4863 "built/tmp/cppBison.yxx.c" +#line 4862 "built/tmp/cppBison.yxx.c" break; case 81: /* typedef_declaration: storage_class var_type_decl $@5 typedef_instance_identifiers */ @@ -4867,7 +4866,7 @@ yyreduce: { pop_storage_class(); } -#line 4871 "built/tmp/cppBison.yxx.c" +#line 4870 "built/tmp/cppBison.yxx.c" break; case 82: /* typedef_declaration: storage_class function_prototype maybe_initialize_or_function_body */ @@ -4883,7 +4882,7 @@ yyreduce: } } } -#line 4887 "built/tmp/cppBison.yxx.c" +#line 4886 "built/tmp/cppBison.yxx.c" break; case 83: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ @@ -4896,7 +4895,7 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1])); } -#line 4900 "built/tmp/cppBison.yxx.c" +#line 4899 "built/tmp/cppBison.yxx.c" break; case 84: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' typedef_instance_identifiers */ @@ -4909,7 +4908,7 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3])); } -#line 4913 "built/tmp/cppBison.yxx.c" +#line 4912 "built/tmp/cppBison.yxx.c" break; case 85: /* $@6: %empty */ @@ -4926,7 +4925,7 @@ yyreduce: push_scope(scope); } -#line 4930 "built/tmp/cppBison.yxx.c" +#line 4929 "built/tmp/cppBison.yxx.c" break; case 86: /* constructor_prototype: IDENTIFIER '(' $@6 function_parameter_list ')' function_post */ @@ -4954,7 +4953,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } -#line 4958 "built/tmp/cppBison.yxx.c" +#line 4957 "built/tmp/cppBison.yxx.c" break; case 87: /* $@7: %empty */ @@ -4971,7 +4970,7 @@ yyreduce: push_scope(scope); } -#line 4975 "built/tmp/cppBison.yxx.c" +#line 4974 "built/tmp/cppBison.yxx.c" break; case 88: /* constructor_prototype: TYPENAME_IDENTIFIER '(' IDENTIFIER ')' '(' $@7 function_parameter_list ')' function_post */ @@ -4989,7 +4988,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-8]).file); } -#line 4993 "built/tmp/cppBison.yxx.c" +#line 4992 "built/tmp/cppBison.yxx.c" break; case 89: /* $@8: %empty */ @@ -5006,7 +5005,7 @@ yyreduce: push_scope(scope); } -#line 5010 "built/tmp/cppBison.yxx.c" +#line 5009 "built/tmp/cppBison.yxx.c" break; case 90: /* constructor_prototype: TYPENAME_IDENTIFIER '(' $@8 function_parameter_list ')' function_post */ @@ -5028,7 +5027,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } -#line 5032 "built/tmp/cppBison.yxx.c" +#line 5031 "built/tmp/cppBison.yxx.c" break; case 91: /* $@9: %empty */ @@ -5036,7 +5035,7 @@ yyreduce: { push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope)); } -#line 5040 "built/tmp/cppBison.yxx.c" +#line 5039 "built/tmp/cppBison.yxx.c" break; case 92: /* function_prototype: '~' name '(' $@9 function_parameter_list ')' function_post */ @@ -5059,7 +5058,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-5]).file); } } -#line 5063 "built/tmp/cppBison.yxx.c" +#line 5062 "built/tmp/cppBison.yxx.c" break; case 93: /* $@10: %empty */ @@ -5067,7 +5066,7 @@ yyreduce: { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5071 "built/tmp/cppBison.yxx.c" +#line 5070 "built/tmp/cppBison.yxx.c" break; case 94: /* function_prototype: TYPENAME_IDENTIFIER '(' '*' instance_identifier ')' '(' $@10 function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -5085,7 +5084,7 @@ yyreduce: ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer)); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-10]).file); } -#line 5089 "built/tmp/cppBison.yxx.c" +#line 5088 "built/tmp/cppBison.yxx.c" break; case 95: /* $@11: %empty */ @@ -5093,7 +5092,7 @@ yyreduce: { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5097 "built/tmp/cppBison.yxx.c" +#line 5096 "built/tmp/cppBison.yxx.c" break; case 96: /* function_prototype: TYPENAME_IDENTIFIER '(' SCOPING '*' instance_identifier ')' '(' $@11 function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -5111,7 +5110,7 @@ yyreduce: ii->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer)); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file); } -#line 5115 "built/tmp/cppBison.yxx.c" +#line 5114 "built/tmp/cppBison.yxx.c" break; case 97: /* $@12: %empty */ @@ -5121,7 +5120,7 @@ yyreduce: push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5125 "built/tmp/cppBison.yxx.c" +#line 5124 "built/tmp/cppBison.yxx.c" break; case 98: /* function_prototype: KW_OPERATOR type not_paren_formal_parameter_identifier '(' $@12 function_parameter_list ')' function_post */ @@ -5150,7 +5149,7 @@ yyreduce: (yyval.u.instance) = CPPInstance::make_typecast_function (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 5154 "built/tmp/cppBison.yxx.c" +#line 5153 "built/tmp/cppBison.yxx.c" break; case 99: /* $@13: %empty */ @@ -5160,7 +5159,7 @@ yyreduce: push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5164 "built/tmp/cppBison.yxx.c" +#line 5163 "built/tmp/cppBison.yxx.c" break; case 100: /* function_prototype: KW_OPERATOR KW_CONST type not_paren_formal_parameter_identifier '(' $@13 function_parameter_list ')' function_post */ @@ -5180,7 +5179,7 @@ yyreduce: (yyval.u.instance) = CPPInstance::make_typecast_function (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 5184 "built/tmp/cppBison.yxx.c" +#line 5183 "built/tmp/cppBison.yxx.c" break; case 101: /* function_prototype: IDENTIFIER */ @@ -5194,7 +5193,7 @@ yyreduce: (yyval.u.instance) = nullptr; } } -#line 5198 "built/tmp/cppBison.yxx.c" +#line 5197 "built/tmp/cppBison.yxx.c" break; case 102: /* function_post: empty */ @@ -5202,7 +5201,7 @@ yyreduce: { (yyval.u.integer) = 0; } -#line 5206 "built/tmp/cppBison.yxx.c" +#line 5205 "built/tmp/cppBison.yxx.c" break; case 103: /* function_post: function_post KW_CONST */ @@ -5210,7 +5209,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method; } -#line 5214 "built/tmp/cppBison.yxx.c" +#line 5213 "built/tmp/cppBison.yxx.c" break; case 104: /* function_post: function_post KW_VOLATILE */ @@ -5218,7 +5217,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method; } -#line 5222 "built/tmp/cppBison.yxx.c" +#line 5221 "built/tmp/cppBison.yxx.c" break; case 105: /* function_post: function_post KW_NOEXCEPT */ @@ -5226,7 +5225,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept; } -#line 5230 "built/tmp/cppBison.yxx.c" +#line 5229 "built/tmp/cppBison.yxx.c" break; case 106: /* function_post: function_post KW_FINAL */ @@ -5234,7 +5233,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final; } -#line 5238 "built/tmp/cppBison.yxx.c" +#line 5237 "built/tmp/cppBison.yxx.c" break; case 107: /* function_post: function_post KW_OVERRIDE */ @@ -5242,7 +5241,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override; } -#line 5246 "built/tmp/cppBison.yxx.c" +#line 5245 "built/tmp/cppBison.yxx.c" break; case 108: /* function_post: function_post '&' */ @@ -5250,7 +5249,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method; } -#line 5254 "built/tmp/cppBison.yxx.c" +#line 5253 "built/tmp/cppBison.yxx.c" break; case 109: /* function_post: function_post ANDAND */ @@ -5258,7 +5257,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method; } -#line 5262 "built/tmp/cppBison.yxx.c" +#line 5261 "built/tmp/cppBison.yxx.c" break; case 110: /* function_post: function_post KW_MUTABLE */ @@ -5267,7 +5266,7 @@ yyreduce: // Used for lambdas, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5271 "built/tmp/cppBison.yxx.c" +#line 5270 "built/tmp/cppBison.yxx.c" break; case 111: /* function_post: function_post KW_CONSTEXPR */ @@ -5276,7 +5275,7 @@ yyreduce: // Used for lambdas in C++17, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5280 "built/tmp/cppBison.yxx.c" +#line 5279 "built/tmp/cppBison.yxx.c" break; case 112: /* function_post: function_post KW_THROW '(' ')' */ @@ -5284,7 +5283,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5288 "built/tmp/cppBison.yxx.c" +#line 5287 "built/tmp/cppBison.yxx.c" break; case 113: /* function_post: function_post KW_THROW '(' name ')' */ @@ -5292,7 +5291,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-4].u.integer); } -#line 5296 "built/tmp/cppBison.yxx.c" +#line 5295 "built/tmp/cppBison.yxx.c" break; case 114: /* function_post: function_post KW_THROW '(' name ELLIPSIS ')' */ @@ -5300,7 +5299,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-5].u.integer); } -#line 5304 "built/tmp/cppBison.yxx.c" +#line 5303 "built/tmp/cppBison.yxx.c" break; case 115: /* function_post: function_post ATTR_LEFT attribute_specifiers ATTR_RIGHT */ @@ -5308,7 +5307,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5312 "built/tmp/cppBison.yxx.c" +#line 5311 "built/tmp/cppBison.yxx.c" break; case 116: /* function_operator: '!' */ @@ -5316,7 +5315,7 @@ yyreduce: { (yyval.str) = "!"; } -#line 5320 "built/tmp/cppBison.yxx.c" +#line 5319 "built/tmp/cppBison.yxx.c" break; case 117: /* function_operator: '~' */ @@ -5324,7 +5323,7 @@ yyreduce: { (yyval.str) = "~"; } -#line 5328 "built/tmp/cppBison.yxx.c" +#line 5327 "built/tmp/cppBison.yxx.c" break; case 118: /* function_operator: '*' */ @@ -5332,7 +5331,7 @@ yyreduce: { (yyval.str) = "*"; } -#line 5336 "built/tmp/cppBison.yxx.c" +#line 5335 "built/tmp/cppBison.yxx.c" break; case 119: /* function_operator: '/' */ @@ -5340,7 +5339,7 @@ yyreduce: { (yyval.str) = "/"; } -#line 5344 "built/tmp/cppBison.yxx.c" +#line 5343 "built/tmp/cppBison.yxx.c" break; case 120: /* function_operator: '%' */ @@ -5348,7 +5347,7 @@ yyreduce: { (yyval.str) = "%"; } -#line 5352 "built/tmp/cppBison.yxx.c" +#line 5351 "built/tmp/cppBison.yxx.c" break; case 121: /* function_operator: '+' */ @@ -5356,7 +5355,7 @@ yyreduce: { (yyval.str) = "+"; } -#line 5360 "built/tmp/cppBison.yxx.c" +#line 5359 "built/tmp/cppBison.yxx.c" break; case 122: /* function_operator: '-' */ @@ -5364,7 +5363,7 @@ yyreduce: { (yyval.str) = "-"; } -#line 5368 "built/tmp/cppBison.yxx.c" +#line 5367 "built/tmp/cppBison.yxx.c" break; case 123: /* function_operator: '|' */ @@ -5372,7 +5371,7 @@ yyreduce: { (yyval.str) = "|"; } -#line 5376 "built/tmp/cppBison.yxx.c" +#line 5375 "built/tmp/cppBison.yxx.c" break; case 124: /* function_operator: '&' */ @@ -5380,7 +5379,7 @@ yyreduce: { (yyval.str) = "&"; } -#line 5384 "built/tmp/cppBison.yxx.c" +#line 5383 "built/tmp/cppBison.yxx.c" break; case 125: /* function_operator: '^' */ @@ -5388,7 +5387,7 @@ yyreduce: { (yyval.str) = "^"; } -#line 5392 "built/tmp/cppBison.yxx.c" +#line 5391 "built/tmp/cppBison.yxx.c" break; case 126: /* function_operator: OROR */ @@ -5396,7 +5395,7 @@ yyreduce: { (yyval.str) = "||"; } -#line 5400 "built/tmp/cppBison.yxx.c" +#line 5399 "built/tmp/cppBison.yxx.c" break; case 127: /* function_operator: ANDAND */ @@ -5404,7 +5403,7 @@ yyreduce: { (yyval.str) = "&&"; } -#line 5408 "built/tmp/cppBison.yxx.c" +#line 5407 "built/tmp/cppBison.yxx.c" break; case 128: /* function_operator: EQCOMPARE */ @@ -5412,7 +5411,7 @@ yyreduce: { (yyval.str) = "=="; } -#line 5416 "built/tmp/cppBison.yxx.c" +#line 5415 "built/tmp/cppBison.yxx.c" break; case 129: /* function_operator: NECOMPARE */ @@ -5420,7 +5419,7 @@ yyreduce: { (yyval.str) = "!="; } -#line 5424 "built/tmp/cppBison.yxx.c" +#line 5423 "built/tmp/cppBison.yxx.c" break; case 130: /* function_operator: LECOMPARE */ @@ -5428,7 +5427,7 @@ yyreduce: { (yyval.str) = "<="; } -#line 5432 "built/tmp/cppBison.yxx.c" +#line 5431 "built/tmp/cppBison.yxx.c" break; case 131: /* function_operator: GECOMPARE */ @@ -5436,7 +5435,7 @@ yyreduce: { (yyval.str) = ">="; } -#line 5440 "built/tmp/cppBison.yxx.c" +#line 5439 "built/tmp/cppBison.yxx.c" break; case 132: /* function_operator: '<' */ @@ -5444,7 +5443,7 @@ yyreduce: { (yyval.str) = "<"; } -#line 5448 "built/tmp/cppBison.yxx.c" +#line 5447 "built/tmp/cppBison.yxx.c" break; case 133: /* function_operator: '>' */ @@ -5452,7 +5451,7 @@ yyreduce: { (yyval.str) = ">"; } -#line 5456 "built/tmp/cppBison.yxx.c" +#line 5455 "built/tmp/cppBison.yxx.c" break; case 134: /* function_operator: LSHIFT */ @@ -5460,7 +5459,7 @@ yyreduce: { (yyval.str) = "<<"; } -#line 5464 "built/tmp/cppBison.yxx.c" +#line 5463 "built/tmp/cppBison.yxx.c" break; case 135: /* function_operator: RSHIFT */ @@ -5468,7 +5467,7 @@ yyreduce: { (yyval.str) = ">>"; } -#line 5472 "built/tmp/cppBison.yxx.c" +#line 5471 "built/tmp/cppBison.yxx.c" break; case 136: /* function_operator: '=' */ @@ -5476,7 +5475,7 @@ yyreduce: { (yyval.str) = "="; } -#line 5480 "built/tmp/cppBison.yxx.c" +#line 5479 "built/tmp/cppBison.yxx.c" break; case 137: /* function_operator: ',' */ @@ -5484,7 +5483,7 @@ yyreduce: { (yyval.str) = ","; } -#line 5488 "built/tmp/cppBison.yxx.c" +#line 5487 "built/tmp/cppBison.yxx.c" break; case 138: /* function_operator: PLUSPLUS */ @@ -5492,7 +5491,7 @@ yyreduce: { (yyval.str) = "++"; } -#line 5496 "built/tmp/cppBison.yxx.c" +#line 5495 "built/tmp/cppBison.yxx.c" break; case 139: /* function_operator: MINUSMINUS */ @@ -5500,7 +5499,7 @@ yyreduce: { (yyval.str) = "--"; } -#line 5504 "built/tmp/cppBison.yxx.c" +#line 5503 "built/tmp/cppBison.yxx.c" break; case 140: /* function_operator: TIMESEQUAL */ @@ -5508,7 +5507,7 @@ yyreduce: { (yyval.str) = "*="; } -#line 5512 "built/tmp/cppBison.yxx.c" +#line 5511 "built/tmp/cppBison.yxx.c" break; case 141: /* function_operator: DIVIDEEQUAL */ @@ -5516,7 +5515,7 @@ yyreduce: { (yyval.str) = "/="; } -#line 5520 "built/tmp/cppBison.yxx.c" +#line 5519 "built/tmp/cppBison.yxx.c" break; case 142: /* function_operator: MODEQUAL */ @@ -5524,7 +5523,7 @@ yyreduce: { (yyval.str) = "%="; } -#line 5528 "built/tmp/cppBison.yxx.c" +#line 5527 "built/tmp/cppBison.yxx.c" break; case 143: /* function_operator: PLUSEQUAL */ @@ -5532,7 +5531,7 @@ yyreduce: { (yyval.str) = "+="; } -#line 5536 "built/tmp/cppBison.yxx.c" +#line 5535 "built/tmp/cppBison.yxx.c" break; case 144: /* function_operator: MINUSEQUAL */ @@ -5540,7 +5539,7 @@ yyreduce: { (yyval.str) = "-="; } -#line 5544 "built/tmp/cppBison.yxx.c" +#line 5543 "built/tmp/cppBison.yxx.c" break; case 145: /* function_operator: OREQUAL */ @@ -5548,7 +5547,7 @@ yyreduce: { (yyval.str) = "|="; } -#line 5552 "built/tmp/cppBison.yxx.c" +#line 5551 "built/tmp/cppBison.yxx.c" break; case 146: /* function_operator: ANDEQUAL */ @@ -5556,7 +5555,7 @@ yyreduce: { (yyval.str) = "&="; } -#line 5560 "built/tmp/cppBison.yxx.c" +#line 5559 "built/tmp/cppBison.yxx.c" break; case 147: /* function_operator: XOREQUAL */ @@ -5564,7 +5563,7 @@ yyreduce: { (yyval.str) = "^="; } -#line 5568 "built/tmp/cppBison.yxx.c" +#line 5567 "built/tmp/cppBison.yxx.c" break; case 148: /* function_operator: LSHIFTEQUAL */ @@ -5572,7 +5571,7 @@ yyreduce: { (yyval.str) = "<<="; } -#line 5576 "built/tmp/cppBison.yxx.c" +#line 5575 "built/tmp/cppBison.yxx.c" break; case 149: /* function_operator: RSHIFTEQUAL */ @@ -5580,7 +5579,7 @@ yyreduce: { (yyval.str) = ">>="; } -#line 5584 "built/tmp/cppBison.yxx.c" +#line 5583 "built/tmp/cppBison.yxx.c" break; case 150: /* function_operator: POINTSAT */ @@ -5588,7 +5587,7 @@ yyreduce: { (yyval.str) = "->"; } -#line 5592 "built/tmp/cppBison.yxx.c" +#line 5591 "built/tmp/cppBison.yxx.c" break; case 151: /* function_operator: '[' ']' */ @@ -5596,7 +5595,7 @@ yyreduce: { (yyval.str) = "[]"; } -#line 5600 "built/tmp/cppBison.yxx.c" +#line 5599 "built/tmp/cppBison.yxx.c" break; case 152: /* function_operator: '(' ')' */ @@ -5604,7 +5603,7 @@ yyreduce: { (yyval.str) = "()"; } -#line 5608 "built/tmp/cppBison.yxx.c" +#line 5607 "built/tmp/cppBison.yxx.c" break; case 153: /* function_operator: KW_NEW */ @@ -5612,7 +5611,7 @@ yyreduce: { (yyval.str) = "new"; } -#line 5616 "built/tmp/cppBison.yxx.c" +#line 5615 "built/tmp/cppBison.yxx.c" break; case 154: /* function_operator: KW_DELETE */ @@ -5620,7 +5619,7 @@ yyreduce: { (yyval.str) = "delete"; } -#line 5624 "built/tmp/cppBison.yxx.c" +#line 5623 "built/tmp/cppBison.yxx.c" break; case 159: /* $@14: %empty */ @@ -5628,7 +5627,7 @@ yyreduce: { push_scope(new CPPTemplateScope(current_scope)); } -#line 5632 "built/tmp/cppBison.yxx.c" +#line 5631 "built/tmp/cppBison.yxx.c" break; case 160: /* template_declaration: KW_TEMPLATE $@14 '<' template_formal_parameters '>' more_template_declaration */ @@ -5636,7 +5635,7 @@ yyreduce: { pop_scope(); } -#line 5640 "built/tmp/cppBison.yxx.c" +#line 5639 "built/tmp/cppBison.yxx.c" break; case 165: /* template_nonempty_formal_parameters: template_formal_parameter */ @@ -5646,7 +5645,7 @@ yyreduce: assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5650 "built/tmp/cppBison.yxx.c" +#line 5649 "built/tmp/cppBison.yxx.c" break; case 166: /* template_nonempty_formal_parameters: template_nonempty_formal_parameters ',' template_formal_parameter */ @@ -5656,7 +5655,7 @@ yyreduce: assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5660 "built/tmp/cppBison.yxx.c" +#line 5659 "built/tmp/cppBison.yxx.c" break; case 169: /* template_formal_parameter: typename_keyword */ @@ -5664,7 +5663,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter(nullptr)); } -#line 5668 "built/tmp/cppBison.yxx.c" +#line 5667 "built/tmp/cppBison.yxx.c" break; case 170: /* template_formal_parameter: typename_keyword name */ @@ -5672,7 +5671,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier))); } -#line 5676 "built/tmp/cppBison.yxx.c" +#line 5675 "built/tmp/cppBison.yxx.c" break; case 171: /* template_formal_parameter: typename_keyword name '=' full_type */ @@ -5680,7 +5679,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type))); } -#line 5684 "built/tmp/cppBison.yxx.c" +#line 5683 "built/tmp/cppBison.yxx.c" break; case 172: /* template_formal_parameter: typename_keyword ELLIPSIS */ @@ -5690,7 +5689,7 @@ yyreduce: ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5694 "built/tmp/cppBison.yxx.c" +#line 5693 "built/tmp/cppBison.yxx.c" break; case 173: /* template_formal_parameter: typename_keyword ELLIPSIS name */ @@ -5700,7 +5699,7 @@ yyreduce: ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5704 "built/tmp/cppBison.yxx.c" +#line 5703 "built/tmp/cppBison.yxx.c" break; case 174: /* template_formal_parameter: template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ @@ -5710,7 +5709,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5714 "built/tmp/cppBison.yxx.c" +#line 5713 "built/tmp/cppBison.yxx.c" break; case 175: /* template_formal_parameter: KW_CONST template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ @@ -5721,7 +5720,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5725 "built/tmp/cppBison.yxx.c" +#line 5724 "built/tmp/cppBison.yxx.c" break; case 176: /* template_formal_parameter: template_formal_parameter_type parameter_pack_identifier */ @@ -5730,7 +5729,7 @@ yyreduce: CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5734 "built/tmp/cppBison.yxx.c" +#line 5733 "built/tmp/cppBison.yxx.c" break; case 177: /* template_formal_parameter: KW_CONST template_formal_parameter_type parameter_pack_identifier */ @@ -5740,7 +5739,7 @@ yyreduce: CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5744 "built/tmp/cppBison.yxx.c" +#line 5743 "built/tmp/cppBison.yxx.c" break; case 178: /* template_formal_parameter_type: simple_type */ @@ -5748,7 +5747,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 5752 "built/tmp/cppBison.yxx.c" +#line 5751 "built/tmp/cppBison.yxx.c" break; case 179: /* template_formal_parameter_type: IDENTIFIER */ @@ -5757,7 +5756,7 @@ yyreduce: yywarning("Not a type: " + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0])); (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 5761 "built/tmp/cppBison.yxx.c" +#line 5760 "built/tmp/cppBison.yxx.c" break; case 180: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ @@ -5769,7 +5768,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5773 "built/tmp/cppBison.yxx.c" +#line 5772 "built/tmp/cppBison.yxx.c" break; case 181: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ @@ -5781,7 +5780,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5785 "built/tmp/cppBison.yxx.c" +#line 5784 "built/tmp/cppBison.yxx.c" break; case 182: /* instance_identifier: name_no_final optional_attributes */ @@ -5789,7 +5788,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); } -#line 5793 "built/tmp/cppBison.yxx.c" +#line 5792 "built/tmp/cppBison.yxx.c" break; case 183: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ @@ -5807,7 +5806,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident); } -#line 5811 "built/tmp/cppBison.yxx.c" +#line 5810 "built/tmp/cppBison.yxx.c" break; case 184: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ @@ -5826,7 +5825,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident); } -#line 5830 "built/tmp/cppBison.yxx.c" +#line 5829 "built/tmp/cppBison.yxx.c" break; case 185: /* instance_identifier: KW_CONST instance_identifier */ @@ -5835,7 +5834,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 5839 "built/tmp/cppBison.yxx.c" +#line 5838 "built/tmp/cppBison.yxx.c" break; case 186: /* instance_identifier: KW_VOLATILE instance_identifier */ @@ -5844,7 +5843,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 5848 "built/tmp/cppBison.yxx.c" +#line 5847 "built/tmp/cppBison.yxx.c" break; case 187: /* instance_identifier: '*' optional_attributes instance_identifier */ @@ -5853,7 +5852,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 5857 "built/tmp/cppBison.yxx.c" +#line 5856 "built/tmp/cppBison.yxx.c" break; case 188: /* instance_identifier: '&' optional_attributes instance_identifier */ @@ -5862,7 +5861,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 5866 "built/tmp/cppBison.yxx.c" +#line 5865 "built/tmp/cppBison.yxx.c" break; case 189: /* instance_identifier: ANDAND optional_attributes instance_identifier */ @@ -5871,7 +5870,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 5875 "built/tmp/cppBison.yxx.c" +#line 5874 "built/tmp/cppBison.yxx.c" break; case 190: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ @@ -5880,7 +5879,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 5884 "built/tmp/cppBison.yxx.c" +#line 5883 "built/tmp/cppBison.yxx.c" break; case 191: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -5889,7 +5888,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 5893 "built/tmp/cppBison.yxx.c" +#line 5892 "built/tmp/cppBison.yxx.c" break; case 192: /* instance_identifier: '(' instance_identifier ')' */ @@ -5898,7 +5897,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 5902 "built/tmp/cppBison.yxx.c" +#line 5901 "built/tmp/cppBison.yxx.c" break; case 193: /* $@15: %empty */ @@ -5915,7 +5914,7 @@ yyreduce: push_scope(scope); } -#line 5919 "built/tmp/cppBison.yxx.c" +#line 5918 "built/tmp/cppBison.yxx.c" break; case 194: /* instance_identifier: instance_identifier '(' $@15 formal_parameter_list ')' function_post */ @@ -5933,7 +5932,7 @@ yyreduce: (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } } -#line 5937 "built/tmp/cppBison.yxx.c" +#line 5936 "built/tmp/cppBison.yxx.c" break; case 195: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ @@ -5947,7 +5946,7 @@ yyreduce: } (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); } -#line 5951 "built/tmp/cppBison.yxx.c" +#line 5950 "built/tmp/cppBison.yxx.c" break; case 196: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ @@ -5957,7 +5956,7 @@ yyreduce: (yyvsp[-2].u.inst_ident)->_bit_width = (yyvsp[0].u.expr); (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident); } -#line 5961 "built/tmp/cppBison.yxx.c" +#line 5960 "built/tmp/cppBison.yxx.c" break; case 197: /* maybe_trailing_return_type: empty */ @@ -5965,7 +5964,7 @@ yyreduce: { (yyval.u.type) = nullptr; } -#line 5969 "built/tmp/cppBison.yxx.c" +#line 5968 "built/tmp/cppBison.yxx.c" break; case 198: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ @@ -5973,7 +5972,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 5977 "built/tmp/cppBison.yxx.c" +#line 5976 "built/tmp/cppBison.yxx.c" break; case 199: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ @@ -5982,7 +5981,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 5986 "built/tmp/cppBison.yxx.c" +#line 5985 "built/tmp/cppBison.yxx.c" break; case 200: /* maybe_comma_identifier: empty */ @@ -5990,7 +5989,7 @@ yyreduce: { (yyval.u.identifier) = nullptr; } -#line 5994 "built/tmp/cppBison.yxx.c" +#line 5993 "built/tmp/cppBison.yxx.c" break; case 201: /* maybe_comma_identifier: ',' IDENTIFIER */ @@ -5998,7 +5997,7 @@ yyreduce: { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 6002 "built/tmp/cppBison.yxx.c" +#line 6001 "built/tmp/cppBison.yxx.c" break; case 202: /* function_parameter_list: empty */ @@ -6006,7 +6005,7 @@ yyreduce: { (yyval.u.param_list) = new CPPParameterList; } -#line 6010 "built/tmp/cppBison.yxx.c" +#line 6009 "built/tmp/cppBison.yxx.c" break; case 203: /* function_parameter_list: ELLIPSIS */ @@ -6015,7 +6014,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6019 "built/tmp/cppBison.yxx.c" +#line 6018 "built/tmp/cppBison.yxx.c" break; case 204: /* function_parameter_list: function_parameters */ @@ -6023,7 +6022,7 @@ yyreduce: { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6027 "built/tmp/cppBison.yxx.c" +#line 6026 "built/tmp/cppBison.yxx.c" break; case 205: /* function_parameter_list: function_parameters ',' ELLIPSIS */ @@ -6032,7 +6031,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6036 "built/tmp/cppBison.yxx.c" +#line 6035 "built/tmp/cppBison.yxx.c" break; case 206: /* function_parameter_list: function_parameters ELLIPSIS */ @@ -6041,7 +6040,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6045 "built/tmp/cppBison.yxx.c" +#line 6044 "built/tmp/cppBison.yxx.c" break; case 207: /* function_parameters: function_parameter */ @@ -6050,7 +6049,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6054 "built/tmp/cppBison.yxx.c" +#line 6053 "built/tmp/cppBison.yxx.c" break; case 208: /* function_parameters: function_parameters ',' function_parameter */ @@ -6059,7 +6058,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6063 "built/tmp/cppBison.yxx.c" +#line 6062 "built/tmp/cppBison.yxx.c" break; case 209: /* formal_parameter_list: empty */ @@ -6067,7 +6066,7 @@ yyreduce: { (yyval.u.param_list) = new CPPParameterList; } -#line 6071 "built/tmp/cppBison.yxx.c" +#line 6070 "built/tmp/cppBison.yxx.c" break; case 210: /* formal_parameter_list: ELLIPSIS */ @@ -6076,7 +6075,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6080 "built/tmp/cppBison.yxx.c" +#line 6079 "built/tmp/cppBison.yxx.c" break; case 211: /* formal_parameter_list: formal_parameters */ @@ -6084,7 +6083,7 @@ yyreduce: { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6088 "built/tmp/cppBison.yxx.c" +#line 6087 "built/tmp/cppBison.yxx.c" break; case 212: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ @@ -6093,7 +6092,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6097 "built/tmp/cppBison.yxx.c" +#line 6096 "built/tmp/cppBison.yxx.c" break; case 213: /* formal_parameter_list: formal_parameters ELLIPSIS */ @@ -6102,7 +6101,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6106 "built/tmp/cppBison.yxx.c" +#line 6105 "built/tmp/cppBison.yxx.c" break; case 214: /* formal_parameters: formal_parameter */ @@ -6111,7 +6110,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6115 "built/tmp/cppBison.yxx.c" +#line 6114 "built/tmp/cppBison.yxx.c" break; case 215: /* formal_parameters: formal_parameters ',' formal_parameter */ @@ -6120,7 +6119,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6124 "built/tmp/cppBison.yxx.c" +#line 6123 "built/tmp/cppBison.yxx.c" break; case 216: /* template_parameter_maybe_initialize: empty */ @@ -6128,7 +6127,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6132 "built/tmp/cppBison.yxx.c" +#line 6131 "built/tmp/cppBison.yxx.c" break; case 217: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ @@ -6136,7 +6135,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6140 "built/tmp/cppBison.yxx.c" +#line 6139 "built/tmp/cppBison.yxx.c" break; case 218: /* maybe_initialize: empty */ @@ -6144,7 +6143,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6148 "built/tmp/cppBison.yxx.c" +#line 6147 "built/tmp/cppBison.yxx.c" break; case 219: /* maybe_initialize: '=' const_expr */ @@ -6152,7 +6151,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6156 "built/tmp/cppBison.yxx.c" +#line 6155 "built/tmp/cppBison.yxx.c" break; case 220: /* maybe_initialize_or_constructor_body: ';' */ @@ -6160,7 +6159,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6164 "built/tmp/cppBison.yxx.c" +#line 6163 "built/tmp/cppBison.yxx.c" break; case 221: /* maybe_initialize_or_constructor_body: '{' code '}' */ @@ -6168,7 +6167,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6172 "built/tmp/cppBison.yxx.c" +#line 6171 "built/tmp/cppBison.yxx.c" break; case 222: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ @@ -6176,7 +6175,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6180 "built/tmp/cppBison.yxx.c" +#line 6179 "built/tmp/cppBison.yxx.c" break; case 223: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ @@ -6184,7 +6183,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6188 "built/tmp/cppBison.yxx.c" +#line 6187 "built/tmp/cppBison.yxx.c" break; case 224: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ @@ -6192,7 +6191,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6196 "built/tmp/cppBison.yxx.c" +#line 6195 "built/tmp/cppBison.yxx.c" break; case 225: /* maybe_initialize_or_function_body: ';' */ @@ -6200,7 +6199,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6204 "built/tmp/cppBison.yxx.c" +#line 6203 "built/tmp/cppBison.yxx.c" break; case 226: /* maybe_initialize_or_function_body: '{' code '}' */ @@ -6208,7 +6207,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6212 "built/tmp/cppBison.yxx.c" +#line 6211 "built/tmp/cppBison.yxx.c" break; case 227: /* maybe_initialize_or_function_body: '=' const_expr ';' */ @@ -6216,7 +6215,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 6220 "built/tmp/cppBison.yxx.c" +#line 6219 "built/tmp/cppBison.yxx.c" break; case 228: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ @@ -6224,7 +6223,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6228 "built/tmp/cppBison.yxx.c" +#line 6227 "built/tmp/cppBison.yxx.c" break; case 229: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ @@ -6232,7 +6231,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6236 "built/tmp/cppBison.yxx.c" +#line 6235 "built/tmp/cppBison.yxx.c" break; case 230: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ @@ -6240,14 +6239,14 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6244 "built/tmp/cppBison.yxx.c" +#line 6243 "built/tmp/cppBison.yxx.c" break; case 234: /* structure_init_body: const_expr */ #line 2097 "dtool/src/cppparser/cppBison.yxx" { } -#line 6251 "built/tmp/cppBison.yxx.c" +#line 6250 "built/tmp/cppBison.yxx.c" break; case 238: /* function_parameter: type formal_parameter_identifier maybe_initialize */ @@ -6256,7 +6255,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6260 "built/tmp/cppBison.yxx.c" +#line 6259 "built/tmp/cppBison.yxx.c" break; case 239: /* function_parameter: KW_CONST type formal_parameter_identifier maybe_initialize */ @@ -6266,7 +6265,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6270 "built/tmp/cppBison.yxx.c" +#line 6269 "built/tmp/cppBison.yxx.c" break; case 240: /* function_parameter: KW_CONST KW_REGISTER type formal_parameter_identifier maybe_initialize */ @@ -6276,7 +6275,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6280 "built/tmp/cppBison.yxx.c" +#line 6279 "built/tmp/cppBison.yxx.c" break; case 241: /* function_parameter: type_pack parameter_pack_identifier maybe_initialize */ @@ -6285,7 +6284,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6289 "built/tmp/cppBison.yxx.c" +#line 6288 "built/tmp/cppBison.yxx.c" break; case 242: /* function_parameter: KW_CONST type_pack parameter_pack_identifier maybe_initialize */ @@ -6295,7 +6294,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6299 "built/tmp/cppBison.yxx.c" +#line 6298 "built/tmp/cppBison.yxx.c" break; case 243: /* function_parameter: KW_CONST KW_REGISTER type_pack parameter_pack_identifier maybe_initialize */ @@ -6305,7 +6304,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6309 "built/tmp/cppBison.yxx.c" +#line 6308 "built/tmp/cppBison.yxx.c" break; case 244: /* function_parameter: KW_REGISTER function_parameter */ @@ -6313,7 +6312,7 @@ yyreduce: { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6317 "built/tmp/cppBison.yxx.c" +#line 6316 "built/tmp/cppBison.yxx.c" break; case 245: /* function_parameter: ATTR_LEFT attribute_specifiers ATTR_RIGHT function_parameter */ @@ -6321,7 +6320,7 @@ yyreduce: { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6325 "built/tmp/cppBison.yxx.c" +#line 6324 "built/tmp/cppBison.yxx.c" break; case 246: /* formal_parameter: function_parameter */ @@ -6329,7 +6328,7 @@ yyreduce: { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6333 "built/tmp/cppBison.yxx.c" +#line 6332 "built/tmp/cppBison.yxx.c" break; case 247: /* formal_parameter: formal_const_expr */ @@ -6340,7 +6339,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, "expr"); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6344 "built/tmp/cppBison.yxx.c" +#line 6343 "built/tmp/cppBison.yxx.c" break; case 248: /* not_paren_formal_parameter_identifier: empty */ @@ -6348,7 +6347,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6352 "built/tmp/cppBison.yxx.c" +#line 6351 "built/tmp/cppBison.yxx.c" break; case 249: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ @@ -6356,7 +6355,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); } -#line 6360 "built/tmp/cppBison.yxx.c" +#line 6359 "built/tmp/cppBison.yxx.c" break; case 250: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ @@ -6365,7 +6364,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6369 "built/tmp/cppBison.yxx.c" +#line 6368 "built/tmp/cppBison.yxx.c" break; case 251: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ @@ -6374,7 +6373,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6378 "built/tmp/cppBison.yxx.c" +#line 6377 "built/tmp/cppBison.yxx.c" break; case 252: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ @@ -6383,7 +6382,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6387 "built/tmp/cppBison.yxx.c" +#line 6386 "built/tmp/cppBison.yxx.c" break; case 253: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ @@ -6392,7 +6391,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6396 "built/tmp/cppBison.yxx.c" +#line 6395 "built/tmp/cppBison.yxx.c" break; case 254: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ @@ -6401,7 +6400,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6405 "built/tmp/cppBison.yxx.c" +#line 6404 "built/tmp/cppBison.yxx.c" break; case 255: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ @@ -6410,7 +6409,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6414 "built/tmp/cppBison.yxx.c" +#line 6413 "built/tmp/cppBison.yxx.c" break; case 256: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6419,7 +6418,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6423 "built/tmp/cppBison.yxx.c" +#line 6422 "built/tmp/cppBison.yxx.c" break; case 257: /* formal_parameter_identifier: empty */ @@ -6427,7 +6426,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6431 "built/tmp/cppBison.yxx.c" +#line 6430 "built/tmp/cppBison.yxx.c" break; case 258: /* formal_parameter_identifier: name_no_final optional_attributes */ @@ -6435,7 +6434,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); } -#line 6439 "built/tmp/cppBison.yxx.c" +#line 6438 "built/tmp/cppBison.yxx.c" break; case 259: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ @@ -6444,7 +6443,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6448 "built/tmp/cppBison.yxx.c" +#line 6447 "built/tmp/cppBison.yxx.c" break; case 260: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ @@ -6453,7 +6452,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6457 "built/tmp/cppBison.yxx.c" +#line 6456 "built/tmp/cppBison.yxx.c" break; case 261: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ @@ -6462,7 +6461,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6466 "built/tmp/cppBison.yxx.c" +#line 6465 "built/tmp/cppBison.yxx.c" break; case 262: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ @@ -6471,7 +6470,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6475 "built/tmp/cppBison.yxx.c" +#line 6474 "built/tmp/cppBison.yxx.c" break; case 263: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ @@ -6480,7 +6479,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6484 "built/tmp/cppBison.yxx.c" +#line 6483 "built/tmp/cppBison.yxx.c" break; case 264: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ @@ -6489,7 +6488,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6493 "built/tmp/cppBison.yxx.c" +#line 6492 "built/tmp/cppBison.yxx.c" break; case 265: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6498,7 +6497,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6502 "built/tmp/cppBison.yxx.c" +#line 6501 "built/tmp/cppBison.yxx.c" break; case 266: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post */ @@ -6508,7 +6507,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 6512 "built/tmp/cppBison.yxx.c" +#line 6511 "built/tmp/cppBison.yxx.c" break; case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ @@ -6517,7 +6516,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6521 "built/tmp/cppBison.yxx.c" +#line 6520 "built/tmp/cppBison.yxx.c" break; case 268: /* parameter_pack_identifier: ELLIPSIS */ @@ -6526,7 +6525,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6530 "built/tmp/cppBison.yxx.c" +#line 6529 "built/tmp/cppBison.yxx.c" break; case 269: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ @@ -6535,7 +6534,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); (yyval.u.inst_ident)->_packed = true; } -#line 6539 "built/tmp/cppBison.yxx.c" +#line 6538 "built/tmp/cppBison.yxx.c" break; case 270: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ @@ -6544,7 +6543,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6548 "built/tmp/cppBison.yxx.c" +#line 6547 "built/tmp/cppBison.yxx.c" break; case 271: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ @@ -6553,7 +6552,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6557 "built/tmp/cppBison.yxx.c" +#line 6556 "built/tmp/cppBison.yxx.c" break; case 272: /* parameter_pack_identifier: '*' optional_attributes parameter_pack_identifier */ @@ -6562,7 +6561,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6566 "built/tmp/cppBison.yxx.c" +#line 6565 "built/tmp/cppBison.yxx.c" break; case 273: /* parameter_pack_identifier: '&' optional_attributes parameter_pack_identifier */ @@ -6571,7 +6570,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6575 "built/tmp/cppBison.yxx.c" +#line 6574 "built/tmp/cppBison.yxx.c" break; case 274: /* parameter_pack_identifier: ANDAND optional_attributes parameter_pack_identifier */ @@ -6580,7 +6579,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6584 "built/tmp/cppBison.yxx.c" +#line 6583 "built/tmp/cppBison.yxx.c" break; case 275: /* parameter_pack_identifier: SCOPING '*' optional_attributes parameter_pack_identifier */ @@ -6589,7 +6588,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6593 "built/tmp/cppBison.yxx.c" +#line 6592 "built/tmp/cppBison.yxx.c" break; case 276: /* parameter_pack_identifier: parameter_pack_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6598,7 +6597,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6602 "built/tmp/cppBison.yxx.c" +#line 6601 "built/tmp/cppBison.yxx.c" break; case 277: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' '(' function_parameter_list ')' function_post */ @@ -6608,7 +6607,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 6612 "built/tmp/cppBison.yxx.c" +#line 6611 "built/tmp/cppBison.yxx.c" break; case 278: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' */ @@ -6617,7 +6616,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6621 "built/tmp/cppBison.yxx.c" +#line 6620 "built/tmp/cppBison.yxx.c" break; case 279: /* not_paren_empty_instance_identifier: empty */ @@ -6625,7 +6624,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6629 "built/tmp/cppBison.yxx.c" +#line 6628 "built/tmp/cppBison.yxx.c" break; case 280: /* not_paren_empty_instance_identifier: ELLIPSIS */ @@ -6634,7 +6633,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6638 "built/tmp/cppBison.yxx.c" +#line 6637 "built/tmp/cppBison.yxx.c" break; case 281: /* not_paren_empty_instance_identifier: ELLIPSIS name optional_attributes */ @@ -6643,7 +6642,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); (yyval.u.inst_ident)->_packed = true; } -#line 6647 "built/tmp/cppBison.yxx.c" +#line 6646 "built/tmp/cppBison.yxx.c" break; case 282: /* not_paren_empty_instance_identifier: KW_CONST not_paren_empty_instance_identifier */ @@ -6652,7 +6651,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6656 "built/tmp/cppBison.yxx.c" +#line 6655 "built/tmp/cppBison.yxx.c" break; case 283: /* not_paren_empty_instance_identifier: KW_VOLATILE not_paren_empty_instance_identifier */ @@ -6661,7 +6660,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6665 "built/tmp/cppBison.yxx.c" +#line 6664 "built/tmp/cppBison.yxx.c" break; case 284: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6670,7 +6669,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6674 "built/tmp/cppBison.yxx.c" +#line 6673 "built/tmp/cppBison.yxx.c" break; case 285: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ @@ -6679,7 +6678,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6683 "built/tmp/cppBison.yxx.c" +#line 6682 "built/tmp/cppBison.yxx.c" break; case 286: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ @@ -6688,7 +6687,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6692 "built/tmp/cppBison.yxx.c" +#line 6691 "built/tmp/cppBison.yxx.c" break; case 287: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6697,7 +6696,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6701 "built/tmp/cppBison.yxx.c" +#line 6700 "built/tmp/cppBison.yxx.c" break; case 288: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6706,7 +6705,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6710 "built/tmp/cppBison.yxx.c" +#line 6709 "built/tmp/cppBison.yxx.c" break; case 289: /* empty_instance_identifier: empty */ @@ -6714,7 +6713,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6718 "built/tmp/cppBison.yxx.c" +#line 6717 "built/tmp/cppBison.yxx.c" break; case 290: /* empty_instance_identifier: ELLIPSIS */ @@ -6723,7 +6722,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6727 "built/tmp/cppBison.yxx.c" +#line 6726 "built/tmp/cppBison.yxx.c" break; case 291: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ @@ -6732,7 +6731,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier)); (yyval.u.inst_ident)->_packed = true; } -#line 6736 "built/tmp/cppBison.yxx.c" +#line 6735 "built/tmp/cppBison.yxx.c" break; case 292: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ @@ -6741,7 +6740,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6745 "built/tmp/cppBison.yxx.c" +#line 6744 "built/tmp/cppBison.yxx.c" break; case 293: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ @@ -6750,7 +6749,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6754 "built/tmp/cppBison.yxx.c" +#line 6753 "built/tmp/cppBison.yxx.c" break; case 294: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6759,7 +6758,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer); } -#line 6763 "built/tmp/cppBison.yxx.c" +#line 6762 "built/tmp/cppBison.yxx.c" break; case 295: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ @@ -6768,7 +6767,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference); } -#line 6772 "built/tmp/cppBison.yxx.c" +#line 6771 "built/tmp/cppBison.yxx.c" break; case 296: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ @@ -6777,7 +6776,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference); } -#line 6781 "built/tmp/cppBison.yxx.c" +#line 6780 "built/tmp/cppBison.yxx.c" break; case 297: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6786,7 +6785,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier)); } -#line 6790 "built/tmp/cppBison.yxx.c" +#line 6789 "built/tmp/cppBison.yxx.c" break; case 298: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6795,7 +6794,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr)); } -#line 6799 "built/tmp/cppBison.yxx.c" +#line 6798 "built/tmp/cppBison.yxx.c" break; case 299: /* empty_instance_identifier: '(' function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -6805,7 +6804,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 6809 "built/tmp/cppBison.yxx.c" +#line 6808 "built/tmp/cppBison.yxx.c" break; case 300: /* empty_instance_identifier: '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -6816,7 +6815,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 6820 "built/tmp/cppBison.yxx.c" +#line 6819 "built/tmp/cppBison.yxx.c" break; case 301: /* empty_instance_identifier: '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -6827,7 +6826,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 6831 "built/tmp/cppBison.yxx.c" +#line 6830 "built/tmp/cppBison.yxx.c" break; case 302: /* empty_instance_identifier: '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post maybe_trailing_return_type */ @@ -6838,7 +6837,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), (yyvsp[0].u.type)); } -#line 6842 "built/tmp/cppBison.yxx.c" +#line 6841 "built/tmp/cppBison.yxx.c" break; case 303: /* type: simple_type */ @@ -6846,7 +6845,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 6850 "built/tmp/cppBison.yxx.c" +#line 6849 "built/tmp/cppBison.yxx.c" break; case 304: /* type: TYPENAME_IDENTIFIER */ @@ -6858,7 +6857,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 6862 "built/tmp/cppBison.yxx.c" +#line 6861 "built/tmp/cppBison.yxx.c" break; case 305: /* type: KW_TYPENAME name */ @@ -6866,7 +6865,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 6870 "built/tmp/cppBison.yxx.c" +#line 6869 "built/tmp/cppBison.yxx.c" break; case 306: /* type: anonymous_struct */ @@ -6874,7 +6873,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6878 "built/tmp/cppBison.yxx.c" +#line 6877 "built/tmp/cppBison.yxx.c" break; case 307: /* type: named_struct */ @@ -6882,7 +6881,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6886 "built/tmp/cppBison.yxx.c" +#line 6885 "built/tmp/cppBison.yxx.c" break; case 308: /* type: enum */ @@ -6890,7 +6889,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type)); } -#line 6894 "built/tmp/cppBison.yxx.c" +#line 6893 "built/tmp/cppBison.yxx.c" break; case 309: /* type: struct_keyword struct_attributes name */ @@ -6910,7 +6909,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 6914 "built/tmp/cppBison.yxx.c" +#line 6913 "built/tmp/cppBison.yxx.c" break; case 310: /* type: enum_keyword name_no_final ':' enum_element_type */ @@ -6930,7 +6929,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 6934 "built/tmp/cppBison.yxx.c" +#line 6933 "built/tmp/cppBison.yxx.c" break; case 311: /* type: KW_DECLTYPE '(' const_expr ')' */ @@ -6943,7 +6942,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 6947 "built/tmp/cppBison.yxx.c" +#line 6946 "built/tmp/cppBison.yxx.c" break; case 312: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ @@ -6951,7 +6950,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 6955 "built/tmp/cppBison.yxx.c" +#line 6954 "built/tmp/cppBison.yxx.c" break; case 313: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -6965,7 +6964,7 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 6969 "built/tmp/cppBison.yxx.c" +#line 6968 "built/tmp/cppBison.yxx.c" break; case 314: /* type: KW_AUTO */ @@ -6973,7 +6972,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 6977 "built/tmp/cppBison.yxx.c" +#line 6976 "built/tmp/cppBison.yxx.c" break; case 315: /* type_pack: TYPEPACK_IDENTIFIER */ @@ -6985,7 +6984,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 6989 "built/tmp/cppBison.yxx.c" +#line 6988 "built/tmp/cppBison.yxx.c" break; case 316: /* type_decl: simple_type */ @@ -6993,7 +6992,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 6997 "built/tmp/cppBison.yxx.c" +#line 6996 "built/tmp/cppBison.yxx.c" break; case 317: /* type_decl: TYPENAME_IDENTIFIER */ @@ -7005,7 +7004,7 @@ yyreduce: } assert((yyval.u.decl) != nullptr); } -#line 7009 "built/tmp/cppBison.yxx.c" +#line 7008 "built/tmp/cppBison.yxx.c" break; case 318: /* type_decl: KW_TYPENAME name */ @@ -7013,7 +7012,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7017 "built/tmp/cppBison.yxx.c" +#line 7016 "built/tmp/cppBison.yxx.c" break; case 319: /* type_decl: anonymous_struct */ @@ -7021,7 +7020,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7025 "built/tmp/cppBison.yxx.c" +#line 7024 "built/tmp/cppBison.yxx.c" break; case 320: /* type_decl: named_struct */ @@ -7029,7 +7028,7 @@ yyreduce: { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type))); } -#line 7033 "built/tmp/cppBison.yxx.c" +#line 7032 "built/tmp/cppBison.yxx.c" break; case 321: /* type_decl: enum */ @@ -7037,7 +7036,7 @@ yyreduce: { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type))); } -#line 7041 "built/tmp/cppBison.yxx.c" +#line 7040 "built/tmp/cppBison.yxx.c" break; case 322: /* type_decl: struct_keyword struct_attributes name */ @@ -7057,7 +7056,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7061 "built/tmp/cppBison.yxx.c" +#line 7060 "built/tmp/cppBison.yxx.c" break; case 323: /* type_decl: enum_keyword name_no_final ':' enum_element_type */ @@ -7077,7 +7076,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7081 "built/tmp/cppBison.yxx.c" +#line 7080 "built/tmp/cppBison.yxx.c" break; case 324: /* type_decl: enum_keyword name */ @@ -7099,7 +7098,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7103 "built/tmp/cppBison.yxx.c" +#line 7102 "built/tmp/cppBison.yxx.c" break; case 325: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ @@ -7112,7 +7111,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7116 "built/tmp/cppBison.yxx.c" +#line 7115 "built/tmp/cppBison.yxx.c" break; case 326: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ @@ -7120,7 +7119,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7124 "built/tmp/cppBison.yxx.c" +#line 7123 "built/tmp/cppBison.yxx.c" break; case 327: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -7134,7 +7133,7 @@ yyreduce: (yyval.u.decl) = enum_type->get_underlying_type(); } } -#line 7138 "built/tmp/cppBison.yxx.c" +#line 7137 "built/tmp/cppBison.yxx.c" break; case 328: /* type_decl: KW_AUTO */ @@ -7142,7 +7141,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7146 "built/tmp/cppBison.yxx.c" +#line 7145 "built/tmp/cppBison.yxx.c" break; case 329: /* predefined_type: simple_type */ @@ -7150,7 +7149,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7154 "built/tmp/cppBison.yxx.c" +#line 7153 "built/tmp/cppBison.yxx.c" break; case 330: /* predefined_type: TYPENAME_IDENTIFIER */ @@ -7162,7 +7161,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7166 "built/tmp/cppBison.yxx.c" +#line 7165 "built/tmp/cppBison.yxx.c" break; case 331: /* predefined_type: KW_TYPENAME name */ @@ -7170,7 +7169,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7174 "built/tmp/cppBison.yxx.c" +#line 7173 "built/tmp/cppBison.yxx.c" break; case 332: /* predefined_type: struct_keyword struct_attributes name */ @@ -7190,7 +7189,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 7194 "built/tmp/cppBison.yxx.c" +#line 7193 "built/tmp/cppBison.yxx.c" break; case 333: /* predefined_type: enum_keyword name */ @@ -7210,7 +7209,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 7214 "built/tmp/cppBison.yxx.c" +#line 7213 "built/tmp/cppBison.yxx.c" break; case 334: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ @@ -7223,7 +7222,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7227 "built/tmp/cppBison.yxx.c" +#line 7226 "built/tmp/cppBison.yxx.c" break; case 335: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -7237,7 +7236,7 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7241 "built/tmp/cppBison.yxx.c" +#line 7240 "built/tmp/cppBison.yxx.c" break; case 336: /* predefined_type: KW_AUTO */ @@ -7245,7 +7244,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7249 "built/tmp/cppBison.yxx.c" +#line 7248 "built/tmp/cppBison.yxx.c" break; case 337: /* var_type_decl: type_decl */ @@ -7253,7 +7252,7 @@ yyreduce: { (yyval.u.decl) = (yyvsp[0].u.decl); } -#line 7257 "built/tmp/cppBison.yxx.c" +#line 7256 "built/tmp/cppBison.yxx.c" break; case 338: /* var_type_decl: IDENTIFIER */ @@ -7263,7 +7262,7 @@ yyreduce: (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 7267 "built/tmp/cppBison.yxx.c" +#line 7266 "built/tmp/cppBison.yxx.c" break; case 339: /* full_type: type empty_instance_identifier */ @@ -7271,7 +7270,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7275 "built/tmp/cppBison.yxx.c" +#line 7274 "built/tmp/cppBison.yxx.c" break; case 340: /* full_type: KW_CONST type empty_instance_identifier */ @@ -7280,7 +7279,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7284 "built/tmp/cppBison.yxx.c" +#line 7283 "built/tmp/cppBison.yxx.c" break; case 341: /* full_type: type_pack empty_instance_identifier */ @@ -7288,7 +7287,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7292 "built/tmp/cppBison.yxx.c" +#line 7291 "built/tmp/cppBison.yxx.c" break; case 342: /* full_type: KW_CONST type_pack empty_instance_identifier */ @@ -7297,7 +7296,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7301 "built/tmp/cppBison.yxx.c" +#line 7300 "built/tmp/cppBison.yxx.c" break; case 347: /* $@16: %empty */ @@ -7315,7 +7314,7 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7319 "built/tmp/cppBison.yxx.c" +#line 7318 "built/tmp/cppBison.yxx.c" break; case 348: /* anonymous_struct: struct_keyword struct_attributes '{' $@16 cpp '}' */ @@ -7326,7 +7325,7 @@ yyreduce: pop_struct(); pop_scope(); } -#line 7330 "built/tmp/cppBison.yxx.c" +#line 7329 "built/tmp/cppBison.yxx.c" break; case 349: /* $@17: %empty */ @@ -7350,7 +7349,7 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7354 "built/tmp/cppBison.yxx.c" +#line 7353 "built/tmp/cppBison.yxx.c" break; case 350: /* named_struct: struct_keyword struct_attributes name_no_final $@17 maybe_final maybe_class_derivation '{' cpp '}' */ @@ -7361,7 +7360,7 @@ yyreduce: pop_struct(); pop_scope(); } -#line 7365 "built/tmp/cppBison.yxx.c" +#line 7364 "built/tmp/cppBison.yxx.c" break; case 352: /* maybe_final: KW_FINAL */ @@ -7369,7 +7368,7 @@ yyreduce: { current_struct->_final = true; } -#line 7373 "built/tmp/cppBison.yxx.c" +#line 7372 "built/tmp/cppBison.yxx.c" break; case 357: /* base_specification: class_derivation_name */ @@ -7377,7 +7376,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false); } -#line 7381 "built/tmp/cppBison.yxx.c" +#line 7380 "built/tmp/cppBison.yxx.c" break; case 358: /* base_specification: KW_PUBLIC class_derivation_name */ @@ -7385,7 +7384,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, false); } -#line 7389 "built/tmp/cppBison.yxx.c" +#line 7388 "built/tmp/cppBison.yxx.c" break; case 359: /* base_specification: KW_PROTECTED class_derivation_name */ @@ -7393,7 +7392,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, false); } -#line 7397 "built/tmp/cppBison.yxx.c" +#line 7396 "built/tmp/cppBison.yxx.c" break; case 360: /* base_specification: KW_PRIVATE class_derivation_name */ @@ -7401,7 +7400,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, false); } -#line 7405 "built/tmp/cppBison.yxx.c" +#line 7404 "built/tmp/cppBison.yxx.c" break; case 361: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ @@ -7409,7 +7408,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7413 "built/tmp/cppBison.yxx.c" +#line 7412 "built/tmp/cppBison.yxx.c" break; case 362: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ @@ -7417,7 +7416,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7421 "built/tmp/cppBison.yxx.c" +#line 7420 "built/tmp/cppBison.yxx.c" break; case 363: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ @@ -7425,7 +7424,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7429 "built/tmp/cppBison.yxx.c" +#line 7428 "built/tmp/cppBison.yxx.c" break; case 364: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ @@ -7433,7 +7432,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7437 "built/tmp/cppBison.yxx.c" +#line 7436 "built/tmp/cppBison.yxx.c" break; case 365: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ @@ -7441,7 +7440,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7445 "built/tmp/cppBison.yxx.c" +#line 7444 "built/tmp/cppBison.yxx.c" break; case 366: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ @@ -7449,154 +7448,167 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7453 "built/tmp/cppBison.yxx.c" +#line 7452 "built/tmp/cppBison.yxx.c" break; - case 367: /* enum: enum_decl '{' enum_body '}' */ + case 367: /* $@18: %empty */ #line 2900 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.enum_type) = current_enum; - current_enum = nullptr; + if (current_enum->_scope != nullptr) { + push_scope(current_enum->_scope); + } } #line 7462 "built/tmp/cppBison.yxx.c" break; - case 368: /* enum_decl: enum_keyword ':' enum_element_type */ -#line 2908 "dtool/src/cppparser/cppBison.yxx" + case 368: /* enum: enum_decl $@18 '{' enum_body '}' */ +#line 2906 "dtool/src/cppparser/cppBison.yxx" +{ + if (current_enum->_scope != nullptr) { + pop_scope(); + } + (yyval.u.enum_type) = current_enum; + current_enum = nullptr; +} +#line 7474 "built/tmp/cppBison.yxx.c" + break; + + case 369: /* enum_decl: enum_keyword ':' enum_element_type */ +#line 2917 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), nullptr, (yyvsp[0].u.type), current_scope, nullptr, (yylsp[-2]).file); } -#line 7470 "built/tmp/cppBison.yxx.c" +#line 7482 "built/tmp/cppBison.yxx.c" break; - case 369: /* enum_decl: enum_keyword */ -#line 2912 "dtool/src/cppparser/cppBison.yxx" + case 370: /* enum_decl: enum_keyword */ +#line 2921 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[0].u.extension_enum), nullptr, current_scope, nullptr, (yylsp[0]).file); } -#line 7478 "built/tmp/cppBison.yxx.c" +#line 7490 "built/tmp/cppBison.yxx.c" break; - case 370: /* enum_decl: enum_keyword name_no_final ':' enum_element_type */ -#line 2916 "dtool/src/cppparser/cppBison.yxx" + case 371: /* enum_decl: enum_keyword name_no_final ':' enum_element_type */ +#line 2925 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public); current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-3]).file); } -#line 7487 "built/tmp/cppBison.yxx.c" +#line 7499 "built/tmp/cppBison.yxx.c" break; - case 371: /* enum_decl: enum_keyword name_no_final */ -#line 2921 "dtool/src/cppparser/cppBison.yxx" + case 372: /* enum_decl: enum_keyword name_no_final */ +#line 2930 "dtool/src/cppparser/cppBison.yxx" { CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public); current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-1]).file); } -#line 7496 "built/tmp/cppBison.yxx.c" +#line 7508 "built/tmp/cppBison.yxx.c" break; - case 372: /* enum_element_type: simple_int_type */ -#line 2929 "dtool/src/cppparser/cppBison.yxx" + case 373: /* enum_element_type: simple_int_type */ +#line 2938 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7504 "built/tmp/cppBison.yxx.c" +#line 7516 "built/tmp/cppBison.yxx.c" break; - case 373: /* enum_element_type: TYPENAME_IDENTIFIER */ -#line 2933 "dtool/src/cppparser/cppBison.yxx" + case 374: /* enum_element_type: TYPENAME_IDENTIFIER */ +#line 2942 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); } -#line 7512 "built/tmp/cppBison.yxx.c" +#line 7524 "built/tmp/cppBison.yxx.c" break; - case 375: /* enum_body_trailing_comma: enum_body_trailing_comma name ',' */ -#line 2941 "dtool/src/cppparser/cppBison.yxx" + case 376: /* enum_body_trailing_comma: enum_body_trailing_comma name ',' */ +#line 2950 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-1])); } -#line 7521 "built/tmp/cppBison.yxx.c" +#line 7533 "built/tmp/cppBison.yxx.c" break; - case 376: /* enum_body_trailing_comma: enum_body_trailing_comma name '=' const_expr ',' */ -#line 2946 "dtool/src/cppparser/cppBison.yxx" + case 377: /* enum_body_trailing_comma: enum_body_trailing_comma name '=' const_expr ',' */ +#line 2955 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-3])); } -#line 7530 "built/tmp/cppBison.yxx.c" +#line 7542 "built/tmp/cppBison.yxx.c" break; - case 378: /* enum_body: enum_body_trailing_comma name */ -#line 2954 "dtool/src/cppparser/cppBison.yxx" + case 379: /* enum_body: enum_body_trailing_comma name */ +#line 2963 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[0].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[0])); } -#line 7539 "built/tmp/cppBison.yxx.c" +#line 7551 "built/tmp/cppBison.yxx.c" break; - case 379: /* enum_body: enum_body_trailing_comma name '=' const_expr */ -#line 2959 "dtool/src/cppparser/cppBison.yxx" + case 380: /* enum_body: enum_body_trailing_comma name '=' const_expr */ +#line 2968 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-2])); } -#line 7548 "built/tmp/cppBison.yxx.c" +#line 7560 "built/tmp/cppBison.yxx.c" break; - case 380: /* enum_keyword: KW_ENUM */ -#line 2967 "dtool/src/cppparser/cppBison.yxx" + case 381: /* enum_keyword: KW_ENUM */ +#line 2976 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } -#line 7556 "built/tmp/cppBison.yxx.c" +#line 7568 "built/tmp/cppBison.yxx.c" break; - case 381: /* enum_keyword: KW_ENUM KW_CLASS */ -#line 2971 "dtool/src/cppparser/cppBison.yxx" + case 382: /* enum_keyword: KW_ENUM KW_CLASS */ +#line 2980 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_class; } -#line 7564 "built/tmp/cppBison.yxx.c" +#line 7576 "built/tmp/cppBison.yxx.c" break; - case 382: /* enum_keyword: KW_ENUM KW_STRUCT */ -#line 2975 "dtool/src/cppparser/cppBison.yxx" + case 383: /* enum_keyword: KW_ENUM KW_STRUCT */ +#line 2984 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct; } -#line 7572 "built/tmp/cppBison.yxx.c" +#line 7584 "built/tmp/cppBison.yxx.c" break; - case 383: /* struct_keyword: KW_CLASS */ -#line 2982 "dtool/src/cppparser/cppBison.yxx" + case 384: /* struct_keyword: KW_CLASS */ +#line 2991 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } -#line 7580 "built/tmp/cppBison.yxx.c" +#line 7592 "built/tmp/cppBison.yxx.c" break; - case 384: /* struct_keyword: KW_STRUCT */ -#line 2986 "dtool/src/cppparser/cppBison.yxx" + case 385: /* struct_keyword: KW_STRUCT */ +#line 2995 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } -#line 7588 "built/tmp/cppBison.yxx.c" +#line 7600 "built/tmp/cppBison.yxx.c" break; - case 385: /* struct_keyword: KW_UNION */ -#line 2990 "dtool/src/cppparser/cppBison.yxx" + case 386: /* struct_keyword: KW_UNION */ +#line 2999 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } -#line 7596 "built/tmp/cppBison.yxx.c" +#line 7608 "built/tmp/cppBison.yxx.c" break; - case 386: /* $@18: %empty */ -#line 2997 "dtool/src/cppparser/cppBison.yxx" + case 387: /* $@19: %empty */ +#line 3006 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7614,19 +7626,19 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7618 "built/tmp/cppBison.yxx.c" +#line 7630 "built/tmp/cppBison.yxx.c" break; - case 387: /* namespace_declaration: KW_NAMESPACE name '{' $@18 cpp '}' */ -#line 3015 "dtool/src/cppparser/cppBison.yxx" + case 388: /* namespace_declaration: KW_NAMESPACE name '{' $@19 cpp '}' */ +#line 3024 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7626 "built/tmp/cppBison.yxx.c" +#line 7638 "built/tmp/cppBison.yxx.c" break; - case 388: /* $@19: %empty */ -#line 3019 "dtool/src/cppparser/cppBison.yxx" + case 389: /* $@20: %empty */ +#line 3028 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7645,143 +7657,143 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7649 "built/tmp/cppBison.yxx.c" +#line 7661 "built/tmp/cppBison.yxx.c" break; - case 389: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@19 cpp '}' */ -#line 3038 "dtool/src/cppparser/cppBison.yxx" + case 390: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@20 cpp '}' */ +#line 3047 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7657 "built/tmp/cppBison.yxx.c" +#line 7669 "built/tmp/cppBison.yxx.c" break; - case 392: /* using_declaration: KW_USING name ';' */ -#line 3047 "dtool/src/cppparser/cppBison.yxx" + case 393: /* using_declaration: KW_USING name ';' */ +#line 3056 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-2]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-2])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7667 "built/tmp/cppBison.yxx.c" +#line 7679 "built/tmp/cppBison.yxx.c" break; - case 393: /* using_declaration: KW_USING name '=' full_type ';' */ -#line 3053 "dtool/src/cppparser/cppBison.yxx" + case 394: /* using_declaration: KW_USING name '=' full_type ';' */ +#line 3062 "dtool/src/cppparser/cppBison.yxx" { // This is really just an alternative way to declare a typedef. CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[-1].u.type), (yyvsp[-3].u.identifier), current_scope); typedef_type->_using = true; current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-4])); } -#line 7678 "built/tmp/cppBison.yxx.c" +#line 7690 "built/tmp/cppBison.yxx.c" break; - case 394: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ -#line 3060 "dtool/src/cppparser/cppBison.yxx" + case 395: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ +#line 3069 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), true, (yylsp[-3]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7688 "built/tmp/cppBison.yxx.c" +#line 7700 "built/tmp/cppBison.yxx.c" break; - case 398: /* simple_int_type: KW_BOOL */ -#line 3075 "dtool/src/cppparser/cppBison.yxx" + case 399: /* simple_int_type: KW_BOOL */ +#line 3084 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } -#line 7696 "built/tmp/cppBison.yxx.c" +#line 7708 "built/tmp/cppBison.yxx.c" break; - case 399: /* simple_int_type: KW_CHAR */ -#line 3079 "dtool/src/cppparser/cppBison.yxx" + case 400: /* simple_int_type: KW_CHAR */ +#line 3088 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } -#line 7704 "built/tmp/cppBison.yxx.c" +#line 7716 "built/tmp/cppBison.yxx.c" break; - case 400: /* simple_int_type: KW_WCHAR_T */ -#line 3083 "dtool/src/cppparser/cppBison.yxx" + case 401: /* simple_int_type: KW_WCHAR_T */ +#line 3092 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } -#line 7712 "built/tmp/cppBison.yxx.c" +#line 7724 "built/tmp/cppBison.yxx.c" break; - case 401: /* simple_int_type: KW_CHAR16_T */ -#line 3087 "dtool/src/cppparser/cppBison.yxx" + case 402: /* simple_int_type: KW_CHAR16_T */ +#line 3096 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } -#line 7720 "built/tmp/cppBison.yxx.c" +#line 7732 "built/tmp/cppBison.yxx.c" break; - case 402: /* simple_int_type: KW_CHAR32_T */ -#line 3091 "dtool/src/cppparser/cppBison.yxx" + case 403: /* simple_int_type: KW_CHAR32_T */ +#line 3100 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); } -#line 7728 "built/tmp/cppBison.yxx.c" +#line 7740 "built/tmp/cppBison.yxx.c" break; - case 403: /* simple_int_type: KW_SHORT */ -#line 3095 "dtool/src/cppparser/cppBison.yxx" + case 404: /* simple_int_type: KW_SHORT */ +#line 3104 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short); } -#line 7737 "built/tmp/cppBison.yxx.c" +#line 7749 "built/tmp/cppBison.yxx.c" break; - case 404: /* simple_int_type: KW_LONG */ -#line 3100 "dtool/src/cppparser/cppBison.yxx" + case 405: /* simple_int_type: KW_LONG */ +#line 3109 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } -#line 7746 "built/tmp/cppBison.yxx.c" +#line 7758 "built/tmp/cppBison.yxx.c" break; - case 405: /* simple_int_type: KW_UNSIGNED */ -#line 3105 "dtool/src/cppparser/cppBison.yxx" + case 406: /* simple_int_type: KW_UNSIGNED */ +#line 3114 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } -#line 7755 "built/tmp/cppBison.yxx.c" +#line 7767 "built/tmp/cppBison.yxx.c" break; - case 406: /* simple_int_type: KW_SIGNED */ -#line 3110 "dtool/src/cppparser/cppBison.yxx" + case 407: /* simple_int_type: KW_SIGNED */ +#line 3119 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } -#line 7764 "built/tmp/cppBison.yxx.c" +#line 7776 "built/tmp/cppBison.yxx.c" break; - case 407: /* simple_int_type: KW_INT */ -#line 3115 "dtool/src/cppparser/cppBison.yxx" + case 408: /* simple_int_type: KW_INT */ +#line 3124 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } -#line 7772 "built/tmp/cppBison.yxx.c" +#line 7784 "built/tmp/cppBison.yxx.c" break; - case 408: /* simple_int_type: KW_SHORT simple_int_type */ -#line 3119 "dtool/src/cppparser/cppBison.yxx" + case 409: /* simple_int_type: KW_SHORT simple_int_type */ +#line 3128 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } -#line 7781 "built/tmp/cppBison.yxx.c" +#line 7793 "built/tmp/cppBison.yxx.c" break; - case 409: /* simple_int_type: KW_LONG simple_int_type */ -#line 3124 "dtool/src/cppparser/cppBison.yxx" + case 410: /* simple_int_type: KW_LONG simple_int_type */ +#line 3133 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -7790,493 +7802,493 @@ yyreduce: (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long; } } -#line 7794 "built/tmp/cppBison.yxx.c" +#line 7806 "built/tmp/cppBison.yxx.c" break; - case 410: /* simple_int_type: KW_UNSIGNED simple_int_type */ -#line 3133 "dtool/src/cppparser/cppBison.yxx" + case 411: /* simple_int_type: KW_UNSIGNED simple_int_type */ +#line 3142 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } -#line 7803 "built/tmp/cppBison.yxx.c" +#line 7815 "built/tmp/cppBison.yxx.c" break; - case 411: /* simple_int_type: KW_SIGNED simple_int_type */ -#line 3138 "dtool/src/cppparser/cppBison.yxx" + case 412: /* simple_int_type: KW_SIGNED simple_int_type */ +#line 3147 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } -#line 7812 "built/tmp/cppBison.yxx.c" +#line 7824 "built/tmp/cppBison.yxx.c" break; - case 412: /* simple_float_type: KW_FLOAT */ -#line 3146 "dtool/src/cppparser/cppBison.yxx" + case 413: /* simple_float_type: KW_FLOAT */ +#line 3155 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } -#line 7820 "built/tmp/cppBison.yxx.c" +#line 7832 "built/tmp/cppBison.yxx.c" break; - case 413: /* simple_float_type: KW_DOUBLE */ -#line 3150 "dtool/src/cppparser/cppBison.yxx" + case 414: /* simple_float_type: KW_DOUBLE */ +#line 3159 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } -#line 7828 "built/tmp/cppBison.yxx.c" +#line 7840 "built/tmp/cppBison.yxx.c" break; - case 414: /* simple_float_type: KW_LONG KW_DOUBLE */ -#line 3154 "dtool/src/cppparser/cppBison.yxx" + case 415: /* simple_float_type: KW_LONG KW_DOUBLE */ +#line 3163 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, CPPSimpleType::F_long); } -#line 7837 "built/tmp/cppBison.yxx.c" +#line 7849 "built/tmp/cppBison.yxx.c" break; - case 415: /* simple_void_type: KW_VOID */ -#line 3162 "dtool/src/cppparser/cppBison.yxx" + case 416: /* simple_void_type: KW_VOID */ +#line 3171 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); } -#line 7845 "built/tmp/cppBison.yxx.c" +#line 7857 "built/tmp/cppBison.yxx.c" break; - case 416: /* $@20: %empty */ -#line 3171 "dtool/src/cppparser/cppBison.yxx" + case 417: /* $@21: %empty */ +#line 3180 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } -#line 7853 "built/tmp/cppBison.yxx.c" +#line 7865 "built/tmp/cppBison.yxx.c" break; - case 417: /* code: $@20 code_block */ -#line 3175 "dtool/src/cppparser/cppBison.yxx" + case 418: /* code: $@21 code_block */ +#line 3184 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } -#line 7861 "built/tmp/cppBison.yxx.c" +#line 7873 "built/tmp/cppBison.yxx.c" break; - case 525: /* element: KW_WHILE */ -#line 3219 "dtool/src/cppparser/cppBison.yxx" -{ -} -#line 7868 "built/tmp/cppBison.yxx.c" - break; - - case 549: /* optional_const_expr: empty */ + case 526: /* element: KW_WHILE */ #line 3228 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; } -#line 7876 "built/tmp/cppBison.yxx.c" +#line 7880 "built/tmp/cppBison.yxx.c" break; - case 550: /* optional_const_expr: const_expr */ -#line 3232 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 7884 "built/tmp/cppBison.yxx.c" - break; - - case 551: /* optional_const_expr_comma: empty */ -#line 3239 "dtool/src/cppparser/cppBison.yxx" + case 550: /* optional_const_expr: empty */ +#line 3237 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 7892 "built/tmp/cppBison.yxx.c" +#line 7888 "built/tmp/cppBison.yxx.c" break; - case 552: /* optional_const_expr_comma: const_expr_comma */ -#line 3243 "dtool/src/cppparser/cppBison.yxx" + case 551: /* optional_const_expr: const_expr */ +#line 3241 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7900 "built/tmp/cppBison.yxx.c" +#line 7896 "built/tmp/cppBison.yxx.c" break; - case 553: /* const_expr_comma: const_expr */ -#line 3250 "dtool/src/cppparser/cppBison.yxx" + case 552: /* optional_const_expr_comma: empty */ +#line 3248 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 7904 "built/tmp/cppBison.yxx.c" + break; + + case 553: /* optional_const_expr_comma: const_expr_comma */ +#line 3252 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7908 "built/tmp/cppBison.yxx.c" +#line 7912 "built/tmp/cppBison.yxx.c" break; - case 554: /* const_expr_comma: const_expr_comma ',' const_expr */ -#line 3254 "dtool/src/cppparser/cppBison.yxx" + case 554: /* const_expr_comma: const_expr */ +#line 3259 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7920 "built/tmp/cppBison.yxx.c" + break; + + case 555: /* const_expr_comma: const_expr_comma ',' const_expr */ +#line 3263 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 7916 "built/tmp/cppBison.yxx.c" +#line 7928 "built/tmp/cppBison.yxx.c" break; - case 555: /* no_angle_bracket_const_expr: const_operand */ -#line 3261 "dtool/src/cppparser/cppBison.yxx" + case 556: /* no_angle_bracket_const_expr: const_operand */ +#line 3270 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7924 "built/tmp/cppBison.yxx.c" +#line 7936 "built/tmp/cppBison.yxx.c" break; - case 556: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ -#line 3265 "dtool/src/cppparser/cppBison.yxx" + case 557: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ +#line 3274 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 7932 "built/tmp/cppBison.yxx.c" +#line 7944 "built/tmp/cppBison.yxx.c" break; - case 557: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3269 "dtool/src/cppparser/cppBison.yxx" + case 558: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3278 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 7940 "built/tmp/cppBison.yxx.c" +#line 7952 "built/tmp/cppBison.yxx.c" break; - case 558: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3273 "dtool/src/cppparser/cppBison.yxx" + case 559: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3282 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 7948 "built/tmp/cppBison.yxx.c" +#line 7960 "built/tmp/cppBison.yxx.c" break; - case 559: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3277 "dtool/src/cppparser/cppBison.yxx" + case 560: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3286 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 7956 "built/tmp/cppBison.yxx.c" +#line 7968 "built/tmp/cppBison.yxx.c" break; - case 560: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3281 "dtool/src/cppparser/cppBison.yxx" + case 561: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3290 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 7964 "built/tmp/cppBison.yxx.c" +#line 7976 "built/tmp/cppBison.yxx.c" break; - case 561: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3285 "dtool/src/cppparser/cppBison.yxx" + case 562: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3294 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 7972 "built/tmp/cppBison.yxx.c" +#line 7984 "built/tmp/cppBison.yxx.c" break; - case 562: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ -#line 3289 "dtool/src/cppparser/cppBison.yxx" + case 563: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ +#line 3298 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 7980 "built/tmp/cppBison.yxx.c" +#line 7992 "built/tmp/cppBison.yxx.c" break; - case 563: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3293 "dtool/src/cppparser/cppBison.yxx" + case 564: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3302 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 7988 "built/tmp/cppBison.yxx.c" +#line 8000 "built/tmp/cppBison.yxx.c" break; - case 564: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3297 "dtool/src/cppparser/cppBison.yxx" + case 565: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3306 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 7996 "built/tmp/cppBison.yxx.c" +#line 8008 "built/tmp/cppBison.yxx.c" break; - case 565: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ -#line 3301 "dtool/src/cppparser/cppBison.yxx" + case 566: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ +#line 3310 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8004 "built/tmp/cppBison.yxx.c" +#line 8016 "built/tmp/cppBison.yxx.c" break; - case 566: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ -#line 3305 "dtool/src/cppparser/cppBison.yxx" + case 567: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ +#line 3314 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8012 "built/tmp/cppBison.yxx.c" +#line 8024 "built/tmp/cppBison.yxx.c" break; - case 567: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ -#line 3309 "dtool/src/cppparser/cppBison.yxx" + case 568: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ +#line 3318 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8020 "built/tmp/cppBison.yxx.c" +#line 8032 "built/tmp/cppBison.yxx.c" break; - case 568: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ -#line 3313 "dtool/src/cppparser/cppBison.yxx" + case 569: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ +#line 3322 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8028 "built/tmp/cppBison.yxx.c" +#line 8040 "built/tmp/cppBison.yxx.c" break; - case 569: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ -#line 3317 "dtool/src/cppparser/cppBison.yxx" + case 570: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ +#line 3326 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8036 "built/tmp/cppBison.yxx.c" +#line 8048 "built/tmp/cppBison.yxx.c" break; - case 570: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ -#line 3321 "dtool/src/cppparser/cppBison.yxx" + case 571: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ +#line 3330 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8044 "built/tmp/cppBison.yxx.c" +#line 8056 "built/tmp/cppBison.yxx.c" break; - case 571: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ -#line 3325 "dtool/src/cppparser/cppBison.yxx" + case 572: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ +#line 3334 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8052 "built/tmp/cppBison.yxx.c" +#line 8064 "built/tmp/cppBison.yxx.c" break; - case 572: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ -#line 3329 "dtool/src/cppparser/cppBison.yxx" + case 573: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ +#line 3338 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8060 "built/tmp/cppBison.yxx.c" +#line 8072 "built/tmp/cppBison.yxx.c" break; - case 573: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ -#line 3333 "dtool/src/cppparser/cppBison.yxx" + case 574: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ +#line 3342 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8068 "built/tmp/cppBison.yxx.c" +#line 8080 "built/tmp/cppBison.yxx.c" break; - case 574: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ -#line 3337 "dtool/src/cppparser/cppBison.yxx" + case 575: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ +#line 3346 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8076 "built/tmp/cppBison.yxx.c" +#line 8088 "built/tmp/cppBison.yxx.c" break; - case 575: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ -#line 3341 "dtool/src/cppparser/cppBison.yxx" + case 576: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ +#line 3350 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8084 "built/tmp/cppBison.yxx.c" +#line 8096 "built/tmp/cppBison.yxx.c" break; - case 576: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ -#line 3345 "dtool/src/cppparser/cppBison.yxx" + case 577: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ +#line 3354 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8092 "built/tmp/cppBison.yxx.c" +#line 8104 "built/tmp/cppBison.yxx.c" break; - case 577: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ -#line 3349 "dtool/src/cppparser/cppBison.yxx" + case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ +#line 3358 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8100 "built/tmp/cppBison.yxx.c" +#line 8112 "built/tmp/cppBison.yxx.c" break; - case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ -#line 3353 "dtool/src/cppparser/cppBison.yxx" + case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ +#line 3362 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8108 "built/tmp/cppBison.yxx.c" +#line 8120 "built/tmp/cppBison.yxx.c" break; - case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ -#line 3357 "dtool/src/cppparser/cppBison.yxx" + case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ +#line 3366 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8116 "built/tmp/cppBison.yxx.c" +#line 8128 "built/tmp/cppBison.yxx.c" break; - case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ -#line 3361 "dtool/src/cppparser/cppBison.yxx" + case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ +#line 3370 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8124 "built/tmp/cppBison.yxx.c" +#line 8136 "built/tmp/cppBison.yxx.c" break; - case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ -#line 3365 "dtool/src/cppparser/cppBison.yxx" + case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ +#line 3374 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8132 "built/tmp/cppBison.yxx.c" +#line 8144 "built/tmp/cppBison.yxx.c" break; - case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ -#line 3369 "dtool/src/cppparser/cppBison.yxx" + case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ +#line 3378 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8140 "built/tmp/cppBison.yxx.c" +#line 8152 "built/tmp/cppBison.yxx.c" break; - case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ -#line 3373 "dtool/src/cppparser/cppBison.yxx" + case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ +#line 3382 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8148 "built/tmp/cppBison.yxx.c" +#line 8160 "built/tmp/cppBison.yxx.c" break; - case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ -#line 3377 "dtool/src/cppparser/cppBison.yxx" + case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ +#line 3386 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8156 "built/tmp/cppBison.yxx.c" +#line 8168 "built/tmp/cppBison.yxx.c" break; - case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ -#line 3381 "dtool/src/cppparser/cppBison.yxx" + case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ +#line 3390 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8164 "built/tmp/cppBison.yxx.c" +#line 8176 "built/tmp/cppBison.yxx.c" break; - case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ -#line 3385 "dtool/src/cppparser/cppBison.yxx" + case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ +#line 3394 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8172 "built/tmp/cppBison.yxx.c" +#line 8184 "built/tmp/cppBison.yxx.c" break; - case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ -#line 3389 "dtool/src/cppparser/cppBison.yxx" + case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ +#line 3398 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8180 "built/tmp/cppBison.yxx.c" +#line 8192 "built/tmp/cppBison.yxx.c" break; - case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ -#line 3393 "dtool/src/cppparser/cppBison.yxx" + case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ +#line 3402 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8188 "built/tmp/cppBison.yxx.c" +#line 8200 "built/tmp/cppBison.yxx.c" break; - case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ -#line 3397 "dtool/src/cppparser/cppBison.yxx" + case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ +#line 3406 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8196 "built/tmp/cppBison.yxx.c" +#line 8208 "built/tmp/cppBison.yxx.c" break; - case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ -#line 3401 "dtool/src/cppparser/cppBison.yxx" + case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ +#line 3410 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8204 "built/tmp/cppBison.yxx.c" +#line 8216 "built/tmp/cppBison.yxx.c" break; - case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ -#line 3405 "dtool/src/cppparser/cppBison.yxx" + case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ +#line 3414 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8212 "built/tmp/cppBison.yxx.c" +#line 8224 "built/tmp/cppBison.yxx.c" break; - case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ -#line 3409 "dtool/src/cppparser/cppBison.yxx" + case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ +#line 3418 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8220 "built/tmp/cppBison.yxx.c" +#line 8232 "built/tmp/cppBison.yxx.c" break; - case 593: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ -#line 3413 "dtool/src/cppparser/cppBison.yxx" + case 594: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ +#line 3422 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8228 "built/tmp/cppBison.yxx.c" +#line 8240 "built/tmp/cppBison.yxx.c" break; - case 594: /* const_expr: const_operand */ -#line 3421 "dtool/src/cppparser/cppBison.yxx" + case 595: /* const_expr: const_operand */ +#line 3430 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8236 "built/tmp/cppBison.yxx.c" +#line 8248 "built/tmp/cppBison.yxx.c" break; - case 595: /* const_expr: '(' full_type ')' const_expr */ -#line 3425 "dtool/src/cppparser/cppBison.yxx" + case 596: /* const_expr: '(' full_type ')' const_expr */ +#line 3434 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8244 "built/tmp/cppBison.yxx.c" +#line 8256 "built/tmp/cppBison.yxx.c" break; - case 596: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3429 "dtool/src/cppparser/cppBison.yxx" + case 597: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3438 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 8252 "built/tmp/cppBison.yxx.c" +#line 8264 "built/tmp/cppBison.yxx.c" break; - case 597: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3433 "dtool/src/cppparser/cppBison.yxx" + case 598: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3442 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 8260 "built/tmp/cppBison.yxx.c" +#line 8272 "built/tmp/cppBison.yxx.c" break; - case 598: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3437 "dtool/src/cppparser/cppBison.yxx" + case 599: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3446 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 8268 "built/tmp/cppBison.yxx.c" +#line 8280 "built/tmp/cppBison.yxx.c" break; - case 599: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3441 "dtool/src/cppparser/cppBison.yxx" + case 600: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3450 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 8276 "built/tmp/cppBison.yxx.c" +#line 8288 "built/tmp/cppBison.yxx.c" break; - case 600: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ -#line 3445 "dtool/src/cppparser/cppBison.yxx" + case 601: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ +#line 3454 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8286,11 +8298,11 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8290 "built/tmp/cppBison.yxx.c" +#line 8302 "built/tmp/cppBison.yxx.c" break; - case 601: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ -#line 3455 "dtool/src/cppparser/cppBison.yxx" + case 602: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ +#line 3464 "dtool/src/cppparser/cppBison.yxx" { // Aggregate initialization. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8300,183 +8312,183 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr))); } -#line 8304 "built/tmp/cppBison.yxx.c" +#line 8316 "built/tmp/cppBison.yxx.c" break; - case 602: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ -#line 3465 "dtool/src/cppparser/cppBison.yxx" + case 603: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ +#line 3474 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8314 "built/tmp/cppBison.yxx.c" +#line 8326 "built/tmp/cppBison.yxx.c" break; - case 603: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ -#line 3471 "dtool/src/cppparser/cppBison.yxx" + case 604: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ +#line 3480 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8324 "built/tmp/cppBison.yxx.c" +#line 8336 "built/tmp/cppBison.yxx.c" break; - case 604: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ -#line 3477 "dtool/src/cppparser/cppBison.yxx" + case 605: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ +#line 3486 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8334 "built/tmp/cppBison.yxx.c" +#line 8346 "built/tmp/cppBison.yxx.c" break; - case 605: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ -#line 3483 "dtool/src/cppparser/cppBison.yxx" + case 606: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ +#line 3492 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8344 "built/tmp/cppBison.yxx.c" +#line 8356 "built/tmp/cppBison.yxx.c" break; - case 606: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ -#line 3489 "dtool/src/cppparser/cppBison.yxx" + case 607: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ +#line 3498 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8354 "built/tmp/cppBison.yxx.c" +#line 8366 "built/tmp/cppBison.yxx.c" break; - case 607: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ -#line 3495 "dtool/src/cppparser/cppBison.yxx" + case 608: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ +#line 3504 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8364 "built/tmp/cppBison.yxx.c" +#line 8376 "built/tmp/cppBison.yxx.c" break; - case 608: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ -#line 3501 "dtool/src/cppparser/cppBison.yxx" + case 609: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ +#line 3510 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8375 "built/tmp/cppBison.yxx.c" +#line 8387 "built/tmp/cppBison.yxx.c" break; - case 609: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ -#line 3508 "dtool/src/cppparser/cppBison.yxx" + case 610: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ +#line 3517 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8386 "built/tmp/cppBison.yxx.c" +#line 8398 "built/tmp/cppBison.yxx.c" break; - case 610: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ -#line 3515 "dtool/src/cppparser/cppBison.yxx" + case 611: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ +#line 3524 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8397 "built/tmp/cppBison.yxx.c" +#line 8409 "built/tmp/cppBison.yxx.c" break; - case 611: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ -#line 3522 "dtool/src/cppparser/cppBison.yxx" + case 612: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ +#line 3531 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8408 "built/tmp/cppBison.yxx.c" +#line 8420 "built/tmp/cppBison.yxx.c" break; - case 612: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ -#line 3529 "dtool/src/cppparser/cppBison.yxx" + case 613: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ +#line 3538 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8418 "built/tmp/cppBison.yxx.c" +#line 8430 "built/tmp/cppBison.yxx.c" break; - case 613: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ -#line 3535 "dtool/src/cppparser/cppBison.yxx" + case 614: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ +#line 3544 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8428 "built/tmp/cppBison.yxx.c" +#line 8440 "built/tmp/cppBison.yxx.c" break; - case 614: /* const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3541 "dtool/src/cppparser/cppBison.yxx" + case 615: /* const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3550 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8436 "built/tmp/cppBison.yxx.c" +#line 8448 "built/tmp/cppBison.yxx.c" break; - case 615: /* const_expr: KW_SIZEOF const_expr */ -#line 3545 "dtool/src/cppparser/cppBison.yxx" + case 616: /* const_expr: KW_SIZEOF const_expr */ +#line 3554 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8444 "built/tmp/cppBison.yxx.c" +#line 8456 "built/tmp/cppBison.yxx.c" break; - case 616: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3549 "dtool/src/cppparser/cppBison.yxx" + case 617: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3558 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8452 "built/tmp/cppBison.yxx.c" +#line 8464 "built/tmp/cppBison.yxx.c" break; - case 617: /* const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3553 "dtool/src/cppparser/cppBison.yxx" + case 618: /* const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3562 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8460 "built/tmp/cppBison.yxx.c" +#line 8472 "built/tmp/cppBison.yxx.c" break; - case 618: /* const_expr: KW_NEW predefined_type */ -#line 3557 "dtool/src/cppparser/cppBison.yxx" + case 619: /* const_expr: KW_NEW predefined_type */ +#line 3566 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 8468 "built/tmp/cppBison.yxx.c" +#line 8480 "built/tmp/cppBison.yxx.c" break; - case 619: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 3561 "dtool/src/cppparser/cppBison.yxx" + case 620: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3570 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 8476 "built/tmp/cppBison.yxx.c" +#line 8488 "built/tmp/cppBison.yxx.c" break; - case 620: /* const_expr: KW_TYPEID '(' full_type ')' */ -#line 3565 "dtool/src/cppparser/cppBison.yxx" + case 621: /* const_expr: KW_TYPEID '(' full_type ')' */ +#line 3574 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8487,11 +8499,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 8491 "built/tmp/cppBison.yxx.c" +#line 8503 "built/tmp/cppBison.yxx.c" break; - case 621: /* const_expr: KW_TYPEID '(' const_expr ')' */ -#line 3576 "dtool/src/cppparser/cppBison.yxx" + case 622: /* const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3585 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8502,604 +8514,604 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 8506 "built/tmp/cppBison.yxx.c" +#line 8518 "built/tmp/cppBison.yxx.c" break; - case 622: /* const_expr: '!' const_expr */ -#line 3587 "dtool/src/cppparser/cppBison.yxx" + case 623: /* const_expr: '!' const_expr */ +#line 3596 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8514 "built/tmp/cppBison.yxx.c" +#line 8526 "built/tmp/cppBison.yxx.c" break; - case 623: /* const_expr: '~' const_expr */ -#line 3591 "dtool/src/cppparser/cppBison.yxx" + case 624: /* const_expr: '~' const_expr */ +#line 3600 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8522 "built/tmp/cppBison.yxx.c" +#line 8534 "built/tmp/cppBison.yxx.c" break; - case 624: /* const_expr: '-' const_expr */ -#line 3595 "dtool/src/cppparser/cppBison.yxx" + case 625: /* const_expr: '-' const_expr */ +#line 3604 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8530 "built/tmp/cppBison.yxx.c" +#line 8542 "built/tmp/cppBison.yxx.c" break; - case 625: /* const_expr: '+' const_expr */ -#line 3599 "dtool/src/cppparser/cppBison.yxx" + case 626: /* const_expr: '+' const_expr */ +#line 3608 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8538 "built/tmp/cppBison.yxx.c" +#line 8550 "built/tmp/cppBison.yxx.c" break; - case 626: /* const_expr: '*' const_expr */ -#line 3603 "dtool/src/cppparser/cppBison.yxx" + case 627: /* const_expr: '*' const_expr */ +#line 3612 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8546 "built/tmp/cppBison.yxx.c" +#line 8558 "built/tmp/cppBison.yxx.c" break; - case 627: /* const_expr: '&' const_expr */ -#line 3607 "dtool/src/cppparser/cppBison.yxx" + case 628: /* const_expr: '&' const_expr */ +#line 3616 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8554 "built/tmp/cppBison.yxx.c" +#line 8566 "built/tmp/cppBison.yxx.c" break; - case 628: /* const_expr: const_expr '*' const_expr */ -#line 3611 "dtool/src/cppparser/cppBison.yxx" + case 629: /* const_expr: const_expr '*' const_expr */ +#line 3620 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8562 "built/tmp/cppBison.yxx.c" +#line 8574 "built/tmp/cppBison.yxx.c" break; - case 629: /* const_expr: const_expr '/' const_expr */ -#line 3615 "dtool/src/cppparser/cppBison.yxx" + case 630: /* const_expr: const_expr '/' const_expr */ +#line 3624 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8570 "built/tmp/cppBison.yxx.c" +#line 8582 "built/tmp/cppBison.yxx.c" break; - case 630: /* const_expr: const_expr '%' const_expr */ -#line 3619 "dtool/src/cppparser/cppBison.yxx" + case 631: /* const_expr: const_expr '%' const_expr */ +#line 3628 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8578 "built/tmp/cppBison.yxx.c" +#line 8590 "built/tmp/cppBison.yxx.c" break; - case 631: /* const_expr: const_expr '+' const_expr */ -#line 3623 "dtool/src/cppparser/cppBison.yxx" + case 632: /* const_expr: const_expr '+' const_expr */ +#line 3632 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8586 "built/tmp/cppBison.yxx.c" +#line 8598 "built/tmp/cppBison.yxx.c" break; - case 632: /* const_expr: const_expr '-' const_expr */ -#line 3627 "dtool/src/cppparser/cppBison.yxx" + case 633: /* const_expr: const_expr '-' const_expr */ +#line 3636 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8594 "built/tmp/cppBison.yxx.c" +#line 8606 "built/tmp/cppBison.yxx.c" break; - case 633: /* const_expr: const_expr '|' const_expr */ -#line 3631 "dtool/src/cppparser/cppBison.yxx" + case 634: /* const_expr: const_expr '|' const_expr */ +#line 3640 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8602 "built/tmp/cppBison.yxx.c" +#line 8614 "built/tmp/cppBison.yxx.c" break; - case 634: /* const_expr: const_expr '^' const_expr */ -#line 3635 "dtool/src/cppparser/cppBison.yxx" + case 635: /* const_expr: const_expr '^' const_expr */ +#line 3644 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8610 "built/tmp/cppBison.yxx.c" +#line 8622 "built/tmp/cppBison.yxx.c" break; - case 635: /* const_expr: const_expr '&' const_expr */ -#line 3639 "dtool/src/cppparser/cppBison.yxx" + case 636: /* const_expr: const_expr '&' const_expr */ +#line 3648 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8618 "built/tmp/cppBison.yxx.c" +#line 8630 "built/tmp/cppBison.yxx.c" break; - case 636: /* const_expr: const_expr OROR const_expr */ -#line 3643 "dtool/src/cppparser/cppBison.yxx" + case 637: /* const_expr: const_expr OROR const_expr */ +#line 3652 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8626 "built/tmp/cppBison.yxx.c" +#line 8638 "built/tmp/cppBison.yxx.c" break; - case 637: /* const_expr: const_expr ANDAND const_expr */ -#line 3647 "dtool/src/cppparser/cppBison.yxx" + case 638: /* const_expr: const_expr ANDAND const_expr */ +#line 3656 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8634 "built/tmp/cppBison.yxx.c" +#line 8646 "built/tmp/cppBison.yxx.c" break; - case 638: /* const_expr: const_expr EQCOMPARE const_expr */ -#line 3651 "dtool/src/cppparser/cppBison.yxx" + case 639: /* const_expr: const_expr EQCOMPARE const_expr */ +#line 3660 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8642 "built/tmp/cppBison.yxx.c" +#line 8654 "built/tmp/cppBison.yxx.c" break; - case 639: /* const_expr: const_expr NECOMPARE const_expr */ -#line 3655 "dtool/src/cppparser/cppBison.yxx" + case 640: /* const_expr: const_expr NECOMPARE const_expr */ +#line 3664 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8650 "built/tmp/cppBison.yxx.c" +#line 8662 "built/tmp/cppBison.yxx.c" break; - case 640: /* const_expr: const_expr LECOMPARE const_expr */ -#line 3659 "dtool/src/cppparser/cppBison.yxx" + case 641: /* const_expr: const_expr LECOMPARE const_expr */ +#line 3668 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8658 "built/tmp/cppBison.yxx.c" +#line 8670 "built/tmp/cppBison.yxx.c" break; - case 641: /* const_expr: const_expr GECOMPARE const_expr */ -#line 3663 "dtool/src/cppparser/cppBison.yxx" + case 642: /* const_expr: const_expr GECOMPARE const_expr */ +#line 3672 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8666 "built/tmp/cppBison.yxx.c" +#line 8678 "built/tmp/cppBison.yxx.c" break; - case 642: /* const_expr: const_expr '<' const_expr */ -#line 3667 "dtool/src/cppparser/cppBison.yxx" + case 643: /* const_expr: const_expr '<' const_expr */ +#line 3676 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8674 "built/tmp/cppBison.yxx.c" +#line 8686 "built/tmp/cppBison.yxx.c" break; - case 643: /* const_expr: const_expr '>' const_expr */ -#line 3671 "dtool/src/cppparser/cppBison.yxx" + case 644: /* const_expr: const_expr '>' const_expr */ +#line 3680 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8682 "built/tmp/cppBison.yxx.c" +#line 8694 "built/tmp/cppBison.yxx.c" break; - case 644: /* const_expr: const_expr LSHIFT const_expr */ -#line 3675 "dtool/src/cppparser/cppBison.yxx" + case 645: /* const_expr: const_expr LSHIFT const_expr */ +#line 3684 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8690 "built/tmp/cppBison.yxx.c" +#line 8702 "built/tmp/cppBison.yxx.c" break; - case 645: /* const_expr: const_expr RSHIFT const_expr */ -#line 3679 "dtool/src/cppparser/cppBison.yxx" + case 646: /* const_expr: const_expr RSHIFT const_expr */ +#line 3688 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8698 "built/tmp/cppBison.yxx.c" +#line 8710 "built/tmp/cppBison.yxx.c" break; - case 646: /* const_expr: const_expr '?' const_expr ':' const_expr */ -#line 3683 "dtool/src/cppparser/cppBison.yxx" + case 647: /* const_expr: const_expr '?' const_expr ':' const_expr */ +#line 3692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8706 "built/tmp/cppBison.yxx.c" +#line 8718 "built/tmp/cppBison.yxx.c" break; - case 647: /* const_expr: const_expr '[' const_expr ']' */ -#line 3687 "dtool/src/cppparser/cppBison.yxx" + case 648: /* const_expr: const_expr '[' const_expr ']' */ +#line 3696 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8714 "built/tmp/cppBison.yxx.c" +#line 8726 "built/tmp/cppBison.yxx.c" break; - case 648: /* const_expr: const_expr '(' const_expr_comma ')' */ -#line 3691 "dtool/src/cppparser/cppBison.yxx" + case 649: /* const_expr: const_expr '(' const_expr_comma ')' */ +#line 3700 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8722 "built/tmp/cppBison.yxx.c" +#line 8734 "built/tmp/cppBison.yxx.c" break; - case 649: /* const_expr: const_expr '(' ')' */ -#line 3695 "dtool/src/cppparser/cppBison.yxx" + case 650: /* const_expr: const_expr '(' ')' */ +#line 3704 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8730 "built/tmp/cppBison.yxx.c" +#line 8742 "built/tmp/cppBison.yxx.c" break; - case 650: /* const_expr: const_expr '.' name */ -#line 3699 "dtool/src/cppparser/cppBison.yxx" + case 651: /* const_expr: const_expr '.' name */ +#line 3708 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8738 "built/tmp/cppBison.yxx.c" +#line 8750 "built/tmp/cppBison.yxx.c" break; - case 651: /* const_expr: const_expr POINTSAT const_expr */ -#line 3703 "dtool/src/cppparser/cppBison.yxx" + case 652: /* const_expr: const_expr POINTSAT const_expr */ +#line 3712 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8746 "built/tmp/cppBison.yxx.c" +#line 8758 "built/tmp/cppBison.yxx.c" break; - case 652: /* const_expr: '(' const_expr_comma ')' */ -#line 3707 "dtool/src/cppparser/cppBison.yxx" + case 653: /* const_expr: '(' const_expr_comma ')' */ +#line 3716 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8754 "built/tmp/cppBison.yxx.c" +#line 8766 "built/tmp/cppBison.yxx.c" break; - case 653: /* const_operand: INTEGER */ -#line 3714 "dtool/src/cppparser/cppBison.yxx" + case 654: /* const_operand: INTEGER */ +#line 3723 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8762 "built/tmp/cppBison.yxx.c" +#line 8774 "built/tmp/cppBison.yxx.c" break; - case 654: /* const_operand: KW_TRUE */ -#line 3718 "dtool/src/cppparser/cppBison.yxx" + case 655: /* const_operand: KW_TRUE */ +#line 3727 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 8770 "built/tmp/cppBison.yxx.c" +#line 8782 "built/tmp/cppBison.yxx.c" break; - case 655: /* const_operand: KW_FALSE */ -#line 3722 "dtool/src/cppparser/cppBison.yxx" + case 656: /* const_operand: KW_FALSE */ +#line 3731 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 8778 "built/tmp/cppBison.yxx.c" +#line 8790 "built/tmp/cppBison.yxx.c" break; - case 656: /* const_operand: CHAR_TOK */ -#line 3726 "dtool/src/cppparser/cppBison.yxx" + case 657: /* const_operand: CHAR_TOK */ +#line 3735 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8786 "built/tmp/cppBison.yxx.c" +#line 8798 "built/tmp/cppBison.yxx.c" break; - case 657: /* const_operand: REAL */ -#line 3730 "dtool/src/cppparser/cppBison.yxx" + case 658: /* const_operand: REAL */ +#line 3739 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 8794 "built/tmp/cppBison.yxx.c" +#line 8806 "built/tmp/cppBison.yxx.c" break; - case 658: /* const_operand: string_literal */ -#line 3734 "dtool/src/cppparser/cppBison.yxx" + case 659: /* const_operand: string_literal */ +#line 3743 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8802 "built/tmp/cppBison.yxx.c" +#line 8814 "built/tmp/cppBison.yxx.c" break; - case 659: /* const_operand: CUSTOM_LITERAL */ -#line 3738 "dtool/src/cppparser/cppBison.yxx" + case 660: /* const_operand: CUSTOM_LITERAL */ +#line 3747 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8810 "built/tmp/cppBison.yxx.c" +#line 8822 "built/tmp/cppBison.yxx.c" break; - case 660: /* const_operand: IDENTIFIER */ -#line 3742 "dtool/src/cppparser/cppBison.yxx" + case 661: /* const_operand: IDENTIFIER */ +#line 3751 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 8818 "built/tmp/cppBison.yxx.c" +#line 8830 "built/tmp/cppBison.yxx.c" break; - case 661: /* const_operand: KW_FINAL */ -#line 3746 "dtool/src/cppparser/cppBison.yxx" + case 662: /* const_operand: KW_FINAL */ +#line 3755 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 8828 "built/tmp/cppBison.yxx.c" +#line 8840 "built/tmp/cppBison.yxx.c" break; - case 662: /* const_operand: KW_OVERRIDE */ -#line 3752 "dtool/src/cppparser/cppBison.yxx" + case 663: /* const_operand: KW_OVERRIDE */ +#line 3761 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 8838 "built/tmp/cppBison.yxx.c" +#line 8850 "built/tmp/cppBison.yxx.c" break; - case 663: /* const_operand: KW_NULLPTR */ -#line 3758 "dtool/src/cppparser/cppBison.yxx" + case 664: /* const_operand: KW_NULLPTR */ +#line 3767 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 8846 "built/tmp/cppBison.yxx.c" +#line 8858 "built/tmp/cppBison.yxx.c" break; - case 664: /* const_operand: '[' capture_list ']' function_post maybe_trailing_return_type '{' code '}' */ -#line 3762 "dtool/src/cppparser/cppBison.yxx" + case 665: /* const_operand: '[' capture_list ']' function_post maybe_trailing_return_type '{' code '}' */ +#line 3771 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-6].u.closure_type)->_flags = (yyvsp[-4].u.integer); (yyvsp[-6].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-6].u.closure_type))); } -#line 8856 "built/tmp/cppBison.yxx.c" +#line 8868 "built/tmp/cppBison.yxx.c" break; - case 665: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post maybe_trailing_return_type '{' code '}' */ -#line 3768 "dtool/src/cppparser/cppBison.yxx" + case 666: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post maybe_trailing_return_type '{' code '}' */ +#line 3777 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-9].u.closure_type)->_parameters = (yyvsp[-6].u.param_list); (yyvsp[-9].u.closure_type)->_flags = (yyvsp[-4].u.integer); (yyvsp[-9].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-9].u.closure_type))); } -#line 8867 "built/tmp/cppBison.yxx.c" +#line 8879 "built/tmp/cppBison.yxx.c" break; - case 666: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ -#line 3775 "dtool/src/cppparser/cppBison.yxx" + case 667: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ +#line 3784 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type))); } -#line 8875 "built/tmp/cppBison.yxx.c" +#line 8887 "built/tmp/cppBison.yxx.c" break; - case 667: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ -#line 3779 "dtool/src/cppparser/cppBison.yxx" + case 668: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ +#line 3788 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type))); } -#line 8883 "built/tmp/cppBison.yxx.c" +#line 8895 "built/tmp/cppBison.yxx.c" break; - case 668: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ -#line 3783 "dtool/src/cppparser/cppBison.yxx" + case 669: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ +#line 3792 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 8891 "built/tmp/cppBison.yxx.c" +#line 8903 "built/tmp/cppBison.yxx.c" break; - case 669: /* const_operand: KW_IS_CLASS '(' full_type ')' */ -#line 3787 "dtool/src/cppparser/cppBison.yxx" + case 670: /* const_operand: KW_IS_CLASS '(' full_type ')' */ +#line 3796 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type))); } -#line 8899 "built/tmp/cppBison.yxx.c" +#line 8911 "built/tmp/cppBison.yxx.c" break; - case 670: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ -#line 3791 "dtool/src/cppparser/cppBison.yxx" + case 671: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ +#line 3800 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 8907 "built/tmp/cppBison.yxx.c" +#line 8919 "built/tmp/cppBison.yxx.c" break; - case 671: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ -#line 3795 "dtool/src/cppparser/cppBison.yxx" + case 672: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ +#line 3804 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 8915 "built/tmp/cppBison.yxx.c" +#line 8927 "built/tmp/cppBison.yxx.c" break; - case 672: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ -#line 3799 "dtool/src/cppparser/cppBison.yxx" + case 673: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ +#line 3808 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONVERTIBLE_TO, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 8923 "built/tmp/cppBison.yxx.c" +#line 8935 "built/tmp/cppBison.yxx.c" break; - case 673: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ -#line 3803 "dtool/src/cppparser/cppBison.yxx" + case 674: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ +#line 3812 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 8931 "built/tmp/cppBison.yxx.c" +#line 8943 "built/tmp/cppBison.yxx.c" break; - case 674: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ -#line 3807 "dtool/src/cppparser/cppBison.yxx" + case 675: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ +#line 3816 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type))); } -#line 8939 "built/tmp/cppBison.yxx.c" +#line 8951 "built/tmp/cppBison.yxx.c" break; - case 675: /* const_operand: KW_IS_ENUM '(' full_type ')' */ -#line 3811 "dtool/src/cppparser/cppBison.yxx" + case 676: /* const_operand: KW_IS_ENUM '(' full_type ')' */ +#line 3820 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type))); } -#line 8947 "built/tmp/cppBison.yxx.c" +#line 8959 "built/tmp/cppBison.yxx.c" break; - case 676: /* const_operand: KW_IS_FINAL '(' full_type ')' */ -#line 3815 "dtool/src/cppparser/cppBison.yxx" + case 677: /* const_operand: KW_IS_FINAL '(' full_type ')' */ +#line 3824 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type))); } -#line 8955 "built/tmp/cppBison.yxx.c" +#line 8967 "built/tmp/cppBison.yxx.c" break; - case 677: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ -#line 3819 "dtool/src/cppparser/cppBison.yxx" + case 678: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ +#line 3828 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type))); } -#line 8963 "built/tmp/cppBison.yxx.c" +#line 8975 "built/tmp/cppBison.yxx.c" break; - case 678: /* const_operand: KW_IS_POD '(' full_type ')' */ -#line 3823 "dtool/src/cppparser/cppBison.yxx" + case 679: /* const_operand: KW_IS_POD '(' full_type ')' */ +#line 3832 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type))); } -#line 8971 "built/tmp/cppBison.yxx.c" +#line 8983 "built/tmp/cppBison.yxx.c" break; - case 679: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ -#line 3827 "dtool/src/cppparser/cppBison.yxx" + case 680: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ +#line 3836 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type))); } -#line 8979 "built/tmp/cppBison.yxx.c" +#line 8991 "built/tmp/cppBison.yxx.c" break; - case 680: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ -#line 3831 "dtool/src/cppparser/cppBison.yxx" + case 681: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ +#line 3840 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type))); } -#line 8987 "built/tmp/cppBison.yxx.c" +#line 8999 "built/tmp/cppBison.yxx.c" break; - case 681: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ -#line 3835 "dtool/src/cppparser/cppBison.yxx" + case 682: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ +#line 3844 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type))); } -#line 8995 "built/tmp/cppBison.yxx.c" +#line 9007 "built/tmp/cppBison.yxx.c" break; - case 682: /* const_operand: KW_IS_UNION '(' full_type ')' */ -#line 3839 "dtool/src/cppparser/cppBison.yxx" + case 683: /* const_operand: KW_IS_UNION '(' full_type ')' */ +#line 3848 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type))); } -#line 9003 "built/tmp/cppBison.yxx.c" +#line 9015 "built/tmp/cppBison.yxx.c" break; - case 683: /* formal_const_expr: formal_const_operand */ -#line 3853 "dtool/src/cppparser/cppBison.yxx" + case 684: /* formal_const_expr: formal_const_operand */ +#line 3862 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9011 "built/tmp/cppBison.yxx.c" +#line 9023 "built/tmp/cppBison.yxx.c" break; - case 684: /* formal_const_expr: '(' full_type ')' const_expr */ -#line 3857 "dtool/src/cppparser/cppBison.yxx" + case 685: /* formal_const_expr: '(' full_type ')' const_expr */ +#line 3866 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 9019 "built/tmp/cppBison.yxx.c" +#line 9031 "built/tmp/cppBison.yxx.c" break; - case 685: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3861 "dtool/src/cppparser/cppBison.yxx" + case 686: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3870 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 9027 "built/tmp/cppBison.yxx.c" +#line 9039 "built/tmp/cppBison.yxx.c" break; - case 686: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3865 "dtool/src/cppparser/cppBison.yxx" + case 687: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3874 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 9035 "built/tmp/cppBison.yxx.c" +#line 9047 "built/tmp/cppBison.yxx.c" break; - case 687: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3869 "dtool/src/cppparser/cppBison.yxx" + case 688: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3878 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 9043 "built/tmp/cppBison.yxx.c" +#line 9055 "built/tmp/cppBison.yxx.c" break; - case 688: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3873 "dtool/src/cppparser/cppBison.yxx" + case 689: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3882 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 9051 "built/tmp/cppBison.yxx.c" +#line 9063 "built/tmp/cppBison.yxx.c" break; - case 689: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3877 "dtool/src/cppparser/cppBison.yxx" + case 690: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3886 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 9059 "built/tmp/cppBison.yxx.c" +#line 9071 "built/tmp/cppBison.yxx.c" break; - case 690: /* formal_const_expr: KW_SIZEOF formal_const_expr */ -#line 3881 "dtool/src/cppparser/cppBison.yxx" + case 691: /* formal_const_expr: KW_SIZEOF formal_const_expr */ +#line 3890 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 9067 "built/tmp/cppBison.yxx.c" +#line 9079 "built/tmp/cppBison.yxx.c" break; - case 691: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3885 "dtool/src/cppparser/cppBison.yxx" + case 692: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3894 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 9075 "built/tmp/cppBison.yxx.c" +#line 9087 "built/tmp/cppBison.yxx.c" break; - case 692: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3889 "dtool/src/cppparser/cppBison.yxx" + case 693: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3898 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 9083 "built/tmp/cppBison.yxx.c" +#line 9095 "built/tmp/cppBison.yxx.c" break; - case 693: /* formal_const_expr: KW_NEW predefined_type */ -#line 3893 "dtool/src/cppparser/cppBison.yxx" + case 694: /* formal_const_expr: KW_NEW predefined_type */ +#line 3902 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 9091 "built/tmp/cppBison.yxx.c" +#line 9103 "built/tmp/cppBison.yxx.c" break; - case 694: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 3897 "dtool/src/cppparser/cppBison.yxx" + case 695: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3906 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 9099 "built/tmp/cppBison.yxx.c" +#line 9111 "built/tmp/cppBison.yxx.c" break; - case 695: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ -#line 3901 "dtool/src/cppparser/cppBison.yxx" + case 696: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ +#line 3910 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9110,11 +9122,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 9114 "built/tmp/cppBison.yxx.c" +#line 9126 "built/tmp/cppBison.yxx.c" break; - case 696: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ -#line 3912 "dtool/src/cppparser/cppBison.yxx" + case 697: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3921 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9125,409 +9137,409 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 9129 "built/tmp/cppBison.yxx.c" +#line 9141 "built/tmp/cppBison.yxx.c" break; - case 697: /* formal_const_expr: '!' const_expr */ -#line 3923 "dtool/src/cppparser/cppBison.yxx" + case 698: /* formal_const_expr: '!' const_expr */ +#line 3932 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 9137 "built/tmp/cppBison.yxx.c" +#line 9149 "built/tmp/cppBison.yxx.c" break; - case 698: /* formal_const_expr: '~' const_expr */ -#line 3927 "dtool/src/cppparser/cppBison.yxx" + case 699: /* formal_const_expr: '~' const_expr */ +#line 3936 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 9145 "built/tmp/cppBison.yxx.c" +#line 9157 "built/tmp/cppBison.yxx.c" break; - case 699: /* formal_const_expr: '-' const_expr */ -#line 3931 "dtool/src/cppparser/cppBison.yxx" + case 700: /* formal_const_expr: '-' const_expr */ +#line 3940 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 9153 "built/tmp/cppBison.yxx.c" +#line 9165 "built/tmp/cppBison.yxx.c" break; - case 700: /* formal_const_expr: '+' const_expr */ -#line 3935 "dtool/src/cppparser/cppBison.yxx" + case 701: /* formal_const_expr: '+' const_expr */ +#line 3944 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 9161 "built/tmp/cppBison.yxx.c" +#line 9173 "built/tmp/cppBison.yxx.c" break; - case 701: /* formal_const_expr: '&' const_expr */ -#line 3939 "dtool/src/cppparser/cppBison.yxx" + case 702: /* formal_const_expr: '&' const_expr */ +#line 3948 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 9169 "built/tmp/cppBison.yxx.c" +#line 9181 "built/tmp/cppBison.yxx.c" break; - case 702: /* formal_const_expr: formal_const_expr '*' const_expr */ -#line 3943 "dtool/src/cppparser/cppBison.yxx" + case 703: /* formal_const_expr: formal_const_expr '*' const_expr */ +#line 3952 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9177 "built/tmp/cppBison.yxx.c" +#line 9189 "built/tmp/cppBison.yxx.c" break; - case 703: /* formal_const_expr: formal_const_expr '/' const_expr */ -#line 3947 "dtool/src/cppparser/cppBison.yxx" + case 704: /* formal_const_expr: formal_const_expr '/' const_expr */ +#line 3956 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9185 "built/tmp/cppBison.yxx.c" +#line 9197 "built/tmp/cppBison.yxx.c" break; - case 704: /* formal_const_expr: formal_const_expr '%' const_expr */ -#line 3951 "dtool/src/cppparser/cppBison.yxx" + case 705: /* formal_const_expr: formal_const_expr '%' const_expr */ +#line 3960 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9193 "built/tmp/cppBison.yxx.c" +#line 9205 "built/tmp/cppBison.yxx.c" break; - case 705: /* formal_const_expr: formal_const_expr '+' const_expr */ -#line 3955 "dtool/src/cppparser/cppBison.yxx" + case 706: /* formal_const_expr: formal_const_expr '+' const_expr */ +#line 3964 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9201 "built/tmp/cppBison.yxx.c" +#line 9213 "built/tmp/cppBison.yxx.c" break; - case 706: /* formal_const_expr: formal_const_expr '-' const_expr */ -#line 3959 "dtool/src/cppparser/cppBison.yxx" + case 707: /* formal_const_expr: formal_const_expr '-' const_expr */ +#line 3968 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9209 "built/tmp/cppBison.yxx.c" +#line 9221 "built/tmp/cppBison.yxx.c" break; - case 707: /* formal_const_expr: formal_const_expr '|' const_expr */ -#line 3963 "dtool/src/cppparser/cppBison.yxx" + case 708: /* formal_const_expr: formal_const_expr '|' const_expr */ +#line 3972 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9217 "built/tmp/cppBison.yxx.c" +#line 9229 "built/tmp/cppBison.yxx.c" break; - case 708: /* formal_const_expr: formal_const_expr '^' const_expr */ -#line 3967 "dtool/src/cppparser/cppBison.yxx" + case 709: /* formal_const_expr: formal_const_expr '^' const_expr */ +#line 3976 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9225 "built/tmp/cppBison.yxx.c" +#line 9237 "built/tmp/cppBison.yxx.c" break; - case 709: /* formal_const_expr: formal_const_expr '&' const_expr */ -#line 3971 "dtool/src/cppparser/cppBison.yxx" + case 710: /* formal_const_expr: formal_const_expr '&' const_expr */ +#line 3980 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9233 "built/tmp/cppBison.yxx.c" +#line 9245 "built/tmp/cppBison.yxx.c" break; - case 710: /* formal_const_expr: formal_const_expr OROR const_expr */ -#line 3975 "dtool/src/cppparser/cppBison.yxx" + case 711: /* formal_const_expr: formal_const_expr OROR const_expr */ +#line 3984 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9241 "built/tmp/cppBison.yxx.c" +#line 9253 "built/tmp/cppBison.yxx.c" break; - case 711: /* formal_const_expr: formal_const_expr ANDAND const_expr */ -#line 3979 "dtool/src/cppparser/cppBison.yxx" + case 712: /* formal_const_expr: formal_const_expr ANDAND const_expr */ +#line 3988 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9249 "built/tmp/cppBison.yxx.c" +#line 9261 "built/tmp/cppBison.yxx.c" break; - case 712: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ -#line 3983 "dtool/src/cppparser/cppBison.yxx" + case 713: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ +#line 3992 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9257 "built/tmp/cppBison.yxx.c" +#line 9269 "built/tmp/cppBison.yxx.c" break; - case 713: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ -#line 3987 "dtool/src/cppparser/cppBison.yxx" + case 714: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ +#line 3996 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9265 "built/tmp/cppBison.yxx.c" +#line 9277 "built/tmp/cppBison.yxx.c" break; - case 714: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ -#line 3991 "dtool/src/cppparser/cppBison.yxx" + case 715: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ +#line 4000 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9273 "built/tmp/cppBison.yxx.c" +#line 9285 "built/tmp/cppBison.yxx.c" break; - case 715: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ -#line 3995 "dtool/src/cppparser/cppBison.yxx" + case 716: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ +#line 4004 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9281 "built/tmp/cppBison.yxx.c" +#line 9293 "built/tmp/cppBison.yxx.c" break; - case 716: /* formal_const_expr: formal_const_expr '<' const_expr */ -#line 3999 "dtool/src/cppparser/cppBison.yxx" + case 717: /* formal_const_expr: formal_const_expr '<' const_expr */ +#line 4008 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9289 "built/tmp/cppBison.yxx.c" +#line 9301 "built/tmp/cppBison.yxx.c" break; - case 717: /* formal_const_expr: formal_const_expr '>' const_expr */ -#line 4003 "dtool/src/cppparser/cppBison.yxx" + case 718: /* formal_const_expr: formal_const_expr '>' const_expr */ +#line 4012 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9297 "built/tmp/cppBison.yxx.c" +#line 9309 "built/tmp/cppBison.yxx.c" break; - case 718: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ -#line 4007 "dtool/src/cppparser/cppBison.yxx" + case 719: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ +#line 4016 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9305 "built/tmp/cppBison.yxx.c" +#line 9317 "built/tmp/cppBison.yxx.c" break; - case 719: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ -#line 4011 "dtool/src/cppparser/cppBison.yxx" + case 720: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ +#line 4020 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9313 "built/tmp/cppBison.yxx.c" +#line 9325 "built/tmp/cppBison.yxx.c" break; - case 720: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ -#line 4015 "dtool/src/cppparser/cppBison.yxx" + case 721: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ +#line 4024 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9321 "built/tmp/cppBison.yxx.c" +#line 9333 "built/tmp/cppBison.yxx.c" break; - case 721: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ -#line 4019 "dtool/src/cppparser/cppBison.yxx" + case 722: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ +#line 4028 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9329 "built/tmp/cppBison.yxx.c" +#line 9341 "built/tmp/cppBison.yxx.c" break; - case 722: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ -#line 4023 "dtool/src/cppparser/cppBison.yxx" + case 723: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ +#line 4032 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9337 "built/tmp/cppBison.yxx.c" +#line 9349 "built/tmp/cppBison.yxx.c" break; - case 723: /* formal_const_expr: formal_const_expr '(' ')' */ -#line 4027 "dtool/src/cppparser/cppBison.yxx" + case 724: /* formal_const_expr: formal_const_expr '(' ')' */ +#line 4036 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 9345 "built/tmp/cppBison.yxx.c" +#line 9357 "built/tmp/cppBison.yxx.c" break; - case 724: /* formal_const_expr: formal_const_expr '.' name */ -#line 4031 "dtool/src/cppparser/cppBison.yxx" + case 725: /* formal_const_expr: formal_const_expr '.' name */ +#line 4040 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 9353 "built/tmp/cppBison.yxx.c" +#line 9365 "built/tmp/cppBison.yxx.c" break; - case 725: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ -#line 4035 "dtool/src/cppparser/cppBison.yxx" + case 726: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ +#line 4044 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9361 "built/tmp/cppBison.yxx.c" +#line 9373 "built/tmp/cppBison.yxx.c" break; - case 726: /* formal_const_expr: '(' const_expr_comma ')' */ -#line 4039 "dtool/src/cppparser/cppBison.yxx" + case 727: /* formal_const_expr: '(' const_expr_comma ')' */ +#line 4048 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 9369 "built/tmp/cppBison.yxx.c" +#line 9381 "built/tmp/cppBison.yxx.c" break; - case 727: /* formal_const_operand: INTEGER */ -#line 4046 "dtool/src/cppparser/cppBison.yxx" + case 728: /* formal_const_operand: INTEGER */ +#line 4055 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9377 "built/tmp/cppBison.yxx.c" +#line 9389 "built/tmp/cppBison.yxx.c" break; - case 728: /* formal_const_operand: KW_TRUE */ -#line 4050 "dtool/src/cppparser/cppBison.yxx" + case 729: /* formal_const_operand: KW_TRUE */ +#line 4059 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 9385 "built/tmp/cppBison.yxx.c" +#line 9397 "built/tmp/cppBison.yxx.c" break; - case 729: /* formal_const_operand: KW_FALSE */ -#line 4054 "dtool/src/cppparser/cppBison.yxx" + case 730: /* formal_const_operand: KW_FALSE */ +#line 4063 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 9393 "built/tmp/cppBison.yxx.c" +#line 9405 "built/tmp/cppBison.yxx.c" break; - case 730: /* formal_const_operand: CHAR_TOK */ -#line 4058 "dtool/src/cppparser/cppBison.yxx" + case 731: /* formal_const_operand: CHAR_TOK */ +#line 4067 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9401 "built/tmp/cppBison.yxx.c" +#line 9413 "built/tmp/cppBison.yxx.c" break; - case 731: /* formal_const_operand: REAL */ -#line 4062 "dtool/src/cppparser/cppBison.yxx" + case 732: /* formal_const_operand: REAL */ +#line 4071 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 9409 "built/tmp/cppBison.yxx.c" +#line 9421 "built/tmp/cppBison.yxx.c" break; - case 732: /* formal_const_operand: string_literal */ -#line 4066 "dtool/src/cppparser/cppBison.yxx" + case 733: /* formal_const_operand: string_literal */ +#line 4075 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9417 "built/tmp/cppBison.yxx.c" +#line 9429 "built/tmp/cppBison.yxx.c" break; - case 733: /* formal_const_operand: CUSTOM_LITERAL */ -#line 4070 "dtool/src/cppparser/cppBison.yxx" + case 734: /* formal_const_operand: CUSTOM_LITERAL */ +#line 4079 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9425 "built/tmp/cppBison.yxx.c" +#line 9437 "built/tmp/cppBison.yxx.c" break; - case 734: /* formal_const_operand: IDENTIFIER */ -#line 4074 "dtool/src/cppparser/cppBison.yxx" + case 735: /* formal_const_operand: IDENTIFIER */ +#line 4083 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 9433 "built/tmp/cppBison.yxx.c" +#line 9445 "built/tmp/cppBison.yxx.c" break; - case 735: /* formal_const_operand: KW_FINAL */ -#line 4078 "dtool/src/cppparser/cppBison.yxx" + case 736: /* formal_const_operand: KW_FINAL */ +#line 4087 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9443 "built/tmp/cppBison.yxx.c" +#line 9455 "built/tmp/cppBison.yxx.c" break; - case 736: /* formal_const_operand: KW_OVERRIDE */ -#line 4084 "dtool/src/cppparser/cppBison.yxx" + case 737: /* formal_const_operand: KW_OVERRIDE */ +#line 4093 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9453 "built/tmp/cppBison.yxx.c" +#line 9465 "built/tmp/cppBison.yxx.c" break; - case 737: /* formal_const_operand: KW_NULLPTR */ -#line 4090 "dtool/src/cppparser/cppBison.yxx" + case 738: /* formal_const_operand: KW_NULLPTR */ +#line 4099 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9461 "built/tmp/cppBison.yxx.c" +#line 9473 "built/tmp/cppBison.yxx.c" break; - case 738: /* capture_list: empty */ -#line 4098 "dtool/src/cppparser/cppBison.yxx" + case 739: /* capture_list: empty */ +#line 4107 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); } -#line 9469 "built/tmp/cppBison.yxx.c" +#line 9481 "built/tmp/cppBison.yxx.c" break; - case 739: /* capture_list: '=' */ -#line 4102 "dtool/src/cppparser/cppBison.yxx" + case 740: /* capture_list: '=' */ +#line 4111 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value); } -#line 9477 "built/tmp/cppBison.yxx.c" +#line 9489 "built/tmp/cppBison.yxx.c" break; - case 740: /* capture_list: '&' */ -#line 4106 "dtool/src/cppparser/cppBison.yxx" + case 741: /* capture_list: '&' */ +#line 4115 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference); } -#line 9485 "built/tmp/cppBison.yxx.c" +#line 9497 "built/tmp/cppBison.yxx.c" break; - case 741: /* capture_list: capture maybe_initialize */ -#line 4110 "dtool/src/cppparser/cppBison.yxx" + case 742: /* capture_list: capture maybe_initialize */ +#line 4119 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9496 "built/tmp/cppBison.yxx.c" +#line 9508 "built/tmp/cppBison.yxx.c" break; - case 742: /* capture_list: capture_list ',' capture maybe_initialize */ -#line 4117 "dtool/src/cppparser/cppBison.yxx" + case 743: /* capture_list: capture_list ',' capture maybe_initialize */ +#line 4126 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = (yyvsp[-3].u.closure_type); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9507 "built/tmp/cppBison.yxx.c" +#line 9519 "built/tmp/cppBison.yxx.c" break; - case 743: /* capture: '&' name */ -#line 4127 "dtool/src/cppparser/cppBison.yxx" + case 744: /* capture: '&' name */ +#line 4136 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9517 "built/tmp/cppBison.yxx.c" +#line 9529 "built/tmp/cppBison.yxx.c" break; - case 744: /* capture: '&' name ELLIPSIS */ -#line 4133 "dtool/src/cppparser/cppBison.yxx" + case 745: /* capture: '&' name ELLIPSIS */ +#line 4142 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[-1].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9527 "built/tmp/cppBison.yxx.c" +#line 9539 "built/tmp/cppBison.yxx.c" break; - case 745: /* capture: name */ -#line 4139 "dtool/src/cppparser/cppBison.yxx" + case 746: /* capture: name */ +#line 4148 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9537,11 +9549,11 @@ yyreduce: (yyval.u.capture)->_type = CPPClosureType::CT_by_value; } } -#line 9541 "built/tmp/cppBison.yxx.c" +#line 9553 "built/tmp/cppBison.yxx.c" break; - case 746: /* capture: '*' name */ -#line 4149 "dtool/src/cppparser/cppBison.yxx" + case 747: /* capture: '*' name */ +#line 4158 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9550,11 +9562,11 @@ yyreduce: yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0])); } } -#line 9554 "built/tmp/cppBison.yxx.c" +#line 9566 "built/tmp/cppBison.yxx.c" break; - case 747: /* class_derivation_name: name */ -#line 4161 "dtool/src/cppparser/cppBison.yxx" + case 748: /* class_derivation_name: name */ +#line 4170 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true); if (type == nullptr) { @@ -9562,177 +9574,177 @@ yyreduce: } (yyval.u.type) = type; } -#line 9566 "built/tmp/cppBison.yxx.c" +#line 9578 "built/tmp/cppBison.yxx.c" break; - case 748: /* class_derivation_name: KW_TYPENAME name */ -#line 4169 "dtool/src/cppparser/cppBison.yxx" + case 749: /* class_derivation_name: KW_TYPENAME name */ +#line 4178 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 9574 "built/tmp/cppBison.yxx.c" +#line 9586 "built/tmp/cppBison.yxx.c" break; - case 749: /* class_derivation_name: name ELLIPSIS */ -#line 4173 "dtool/src/cppparser/cppBison.yxx" + case 750: /* class_derivation_name: name ELLIPSIS */ +#line 4182 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier)); ctp->_packed = true; (yyval.u.type) = CPPType::new_type(ctp); } -#line 9584 "built/tmp/cppBison.yxx.c" +#line 9596 "built/tmp/cppBison.yxx.c" break; - case 750: /* name: IDENTIFIER */ -#line 4203 "dtool/src/cppparser/cppBison.yxx" + case 751: /* name: IDENTIFIER */ +#line 4212 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9592 "built/tmp/cppBison.yxx.c" +#line 9604 "built/tmp/cppBison.yxx.c" break; - case 751: /* name: TYPENAME_IDENTIFIER */ -#line 4207 "dtool/src/cppparser/cppBison.yxx" + case 752: /* name: TYPENAME_IDENTIFIER */ +#line 4216 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9600 "built/tmp/cppBison.yxx.c" +#line 9612 "built/tmp/cppBison.yxx.c" break; - case 752: /* name: TYPEPACK_IDENTIFIER */ -#line 4211 "dtool/src/cppparser/cppBison.yxx" + case 753: /* name: TYPEPACK_IDENTIFIER */ +#line 4220 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9608 "built/tmp/cppBison.yxx.c" +#line 9620 "built/tmp/cppBison.yxx.c" break; - case 753: /* name: KW_FINAL */ -#line 4215 "dtool/src/cppparser/cppBison.yxx" + case 754: /* name: KW_FINAL */ +#line 4224 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0])); } -#line 9616 "built/tmp/cppBison.yxx.c" +#line 9628 "built/tmp/cppBison.yxx.c" break; - case 754: /* name: KW_OVERRIDE */ -#line 4219 "dtool/src/cppparser/cppBison.yxx" + case 755: /* name: KW_OVERRIDE */ +#line 4228 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9624 "built/tmp/cppBison.yxx.c" +#line 9636 "built/tmp/cppBison.yxx.c" break; - case 755: /* name: KW_SIGNED */ -#line 4223 "dtool/src/cppparser/cppBison.yxx" + case 756: /* name: KW_SIGNED */ +#line 4232 "dtool/src/cppparser/cppBison.yxx" { // This is not a keyword in Python, so it is useful to be able to use this // in MAKE_PROPERTY definitions, etc. (yyval.u.identifier) = new CPPIdentifier("signed", (yylsp[0])); } -#line 9634 "built/tmp/cppBison.yxx.c" +#line 9646 "built/tmp/cppBison.yxx.c" break; - case 756: /* name: KW_FLOAT */ -#line 4229 "dtool/src/cppparser/cppBison.yxx" + case 757: /* name: KW_FLOAT */ +#line 4238 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0])); } -#line 9642 "built/tmp/cppBison.yxx.c" +#line 9654 "built/tmp/cppBison.yxx.c" break; - case 757: /* name: KW_PUBLIC */ -#line 4233 "dtool/src/cppparser/cppBison.yxx" + case 758: /* name: KW_PUBLIC */ +#line 4242 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0])); } -#line 9650 "built/tmp/cppBison.yxx.c" +#line 9662 "built/tmp/cppBison.yxx.c" break; - case 758: /* name: KW_PRIVATE */ -#line 4237 "dtool/src/cppparser/cppBison.yxx" + case 759: /* name: KW_PRIVATE */ +#line 4246 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0])); } -#line 9658 "built/tmp/cppBison.yxx.c" +#line 9670 "built/tmp/cppBison.yxx.c" break; - case 759: /* name: KW_STATIC */ -#line 4241 "dtool/src/cppparser/cppBison.yxx" + case 760: /* name: KW_STATIC */ +#line 4250 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0])); } -#line 9666 "built/tmp/cppBison.yxx.c" +#line 9678 "built/tmp/cppBison.yxx.c" break; - case 760: /* name: KW_DEFAULT */ -#line 4245 "dtool/src/cppparser/cppBison.yxx" + case 761: /* name: KW_DEFAULT */ +#line 4254 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0])); } -#line 9674 "built/tmp/cppBison.yxx.c" +#line 9686 "built/tmp/cppBison.yxx.c" break; - case 761: /* name_no_final: IDENTIFIER */ -#line 4256 "dtool/src/cppparser/cppBison.yxx" + case 762: /* name_no_final: IDENTIFIER */ +#line 4265 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9682 "built/tmp/cppBison.yxx.c" +#line 9694 "built/tmp/cppBison.yxx.c" break; - case 762: /* name_no_final: TYPENAME_IDENTIFIER */ -#line 4260 "dtool/src/cppparser/cppBison.yxx" + case 763: /* name_no_final: TYPENAME_IDENTIFIER */ +#line 4269 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9690 "built/tmp/cppBison.yxx.c" +#line 9702 "built/tmp/cppBison.yxx.c" break; - case 763: /* name_no_final: TYPEPACK_IDENTIFIER */ -#line 4264 "dtool/src/cppparser/cppBison.yxx" + case 764: /* name_no_final: TYPEPACK_IDENTIFIER */ +#line 4273 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9698 "built/tmp/cppBison.yxx.c" +#line 9710 "built/tmp/cppBison.yxx.c" break; - case 764: /* name_no_final: KW_OVERRIDE */ -#line 4268 "dtool/src/cppparser/cppBison.yxx" + case 765: /* name_no_final: KW_OVERRIDE */ +#line 4277 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9706 "built/tmp/cppBison.yxx.c" +#line 9718 "built/tmp/cppBison.yxx.c" break; - case 765: /* string_literal: SIMPLE_STRING */ -#line 4276 "dtool/src/cppparser/cppBison.yxx" + case 766: /* string_literal: SIMPLE_STRING */ +#line 4285 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].str)); } -#line 9714 "built/tmp/cppBison.yxx.c" +#line 9726 "built/tmp/cppBison.yxx.c" break; - case 766: /* string_literal: STRING_LITERAL */ -#line 4280 "dtool/src/cppparser/cppBison.yxx" + case 767: /* string_literal: STRING_LITERAL */ +#line 4289 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9722 "built/tmp/cppBison.yxx.c" +#line 9734 "built/tmp/cppBison.yxx.c" break; - case 767: /* string_literal: string_literal SIMPLE_STRING */ -#line 4284 "dtool/src/cppparser/cppBison.yxx" + case 768: /* string_literal: string_literal SIMPLE_STRING */ +#line 4293 "dtool/src/cppparser/cppBison.yxx" { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[-1].u.expr); (yyval.u.expr)->_str += (yyvsp[0].str); } -#line 9732 "built/tmp/cppBison.yxx.c" +#line 9744 "built/tmp/cppBison.yxx.c" break; - case 768: /* string_literal: string_literal STRING_LITERAL */ -#line 4290 "dtool/src/cppparser/cppBison.yxx" + case 769: /* string_literal: string_literal STRING_LITERAL */ +#line 4299 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[-1].u.expr); @@ -9741,11 +9753,11 @@ yyreduce: } (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str; } -#line 9745 "built/tmp/cppBison.yxx.c" +#line 9757 "built/tmp/cppBison.yxx.c" break; -#line 9749 "built/tmp/cppBison.yxx.c" +#line 9761 "built/tmp/cppBison.yxx.c" default: break; } diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index 72f90f055f..c1567fb181 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -2896,8 +2896,17 @@ base_specification: ; enum: - enum_decl '{' enum_body '}' + enum_decl { + if (current_enum->_scope != nullptr) { + push_scope(current_enum->_scope); + } +} + '{' enum_body '}' +{ + if (current_enum->_scope != nullptr) { + pop_scope(); + } $$ = current_enum; current_enum = nullptr; } From 1cb2554c487434bae161dfdeca4a82f1ec9c41c2 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 2 Aug 2023 16:36:04 +0200 Subject: [PATCH 3/8] tests: Test that tools run when testing wheels Intended to catch issues like #1504 --- tests/test_tools.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 tests/test_tools.py diff --git a/tests/test_tools.py b/tests/test_tools.py new file mode 100644 index 0000000000..a6dfa6d441 --- /dev/null +++ b/tests/test_tools.py @@ -0,0 +1,19 @@ +import pytest +import subprocess + +# Currently only works when Panda was installed from wheel +panda3d_tools = pytest.importorskip("panda3d_tools") + + +@pytest.mark.skipif(not hasattr(panda3d_tools, 'bam_info'), + reason="requires bam-info") +def test_bam_info(): + output = subprocess.check_output(['bam-info', '-h'], stderr=subprocess.STDOUT).strip() + assert output.startswith(b"This program scans one or more Bam files") + + +@pytest.mark.skipif(not hasattr(panda3d_tools, 'pzip'), + reason="requires pzip") +def test_pzip(): + output = subprocess.check_output(['pzip', '-h'], stderr=subprocess.STDOUT).strip() + assert output.startswith(b"This program compresses the named file") From 45375408203ec12ce5a4a0b3d2c4c6cd050c70e3 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 2 Aug 2023 16:45:40 +0200 Subject: [PATCH 4/8] tests: Look for tools in proper location without relying on PATH --- tests/test_tools.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/test_tools.py b/tests/test_tools.py index a6dfa6d441..81a65e008e 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -1,19 +1,30 @@ import pytest import subprocess +import sys +import os # Currently only works when Panda was installed from wheel panda3d_tools = pytest.importorskip("panda3d_tools") +def get_tool(name): + if sys.platform == 'win32': + name += '.exe' + + tools_dir = os.path.dirname(panda3d_tools.__file__) + path = os.path.join(tools_dir, name) + if not os.path.isfile(path): + pytest.skip(name + ' not found') + + return path + -@pytest.mark.skipif(not hasattr(panda3d_tools, 'bam_info'), - reason="requires bam-info") def test_bam_info(): - output = subprocess.check_output(['bam-info', '-h'], stderr=subprocess.STDOUT).strip() + path = get_tool('bam-info') + output = subprocess.check_output([path, '-h'], stderr=subprocess.STDOUT).strip() assert output.startswith(b"This program scans one or more Bam files") -@pytest.mark.skipif(not hasattr(panda3d_tools, 'pzip'), - reason="requires pzip") def test_pzip(): - output = subprocess.check_output(['pzip', '-h'], stderr=subprocess.STDOUT).strip() + path = get_tool('pzip') + output = subprocess.check_output([path, '-h'], stderr=subprocess.STDOUT).strip() assert output.startswith(b"This program compresses the named file") From 3f3819e7faf9f9d26095506a3ffb748f0bba80cf Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 3 Aug 2023 13:19:53 +0200 Subject: [PATCH 5/8] tests: Further expand on tools tests --- tests/test_tools.py | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/tests/test_tools.py b/tests/test_tools.py index 81a65e008e..b6b187ebc2 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -2,15 +2,24 @@ import pytest import subprocess import sys import os +import tempfile +import panda3d + +try: + panda3d_tools = pytest.importorskip("panda3d_tools") +except: + panda3d_tools = None -# Currently only works when Panda was installed from wheel -panda3d_tools = pytest.importorskip("panda3d_tools") def get_tool(name): if sys.platform == 'win32': name += '.exe' - tools_dir = os.path.dirname(panda3d_tools.__file__) + if panda3d_tools: + tools_dir = os.path.dirname(panda3d_tools.__file__) + else: + tools_dir = os.path.join(os.path.dirname(os.path.dirname(panda3d.__file__)), 'bin') + path = os.path.join(tools_dir, name) if not os.path.isfile(path): pytest.skip(name + ' not found') @@ -24,7 +33,31 @@ def test_bam_info(): assert output.startswith(b"This program scans one or more Bam files") -def test_pzip(): - path = get_tool('pzip') +def test_egg_trans(): + path = get_tool('egg-trans') output = subprocess.check_output([path, '-h'], stderr=subprocess.STDOUT).strip() - assert output.startswith(b"This program compresses the named file") + assert output.startswith(b"egg-trans reads an egg file and writes") + + +def test_pzip(): + data = b'test \000 data' + + try: + file = tempfile.NamedTemporaryFile(suffix='.bin', delete=False) + file.write(data) + file.close() + + path = get_tool('pzip') + subprocess.check_output([path, file.name]) + + zlib = pytest.importorskip('zlib') + + with open(file.name + '.pz', 'rb') as pz: + assert zlib.decompress(pz.read(), 32 + 15, 4096) == data + + finally: + if os.path.isfile(file.name): + os.remove(file.name) + + if os.path.isfile(file.name + '.pz'): + os.remove(file.name + '.pz') From 3160d7f3e98f5d4c746b0f2984fdd31a3fd6df84 Mon Sep 17 00:00:00 2001 From: rdb Date: Thu, 3 Aug 2023 22:21:42 +0200 Subject: [PATCH 6/8] py_panda: Don't use _PyUnicode_EqualToASCIIString in Python 3.13+ See #1523 --- dtool/src/interrogatedb/py_panda.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dtool/src/interrogatedb/py_panda.cxx b/dtool/src/interrogatedb/py_panda.cxx index 6190b6e642..bfd871b096 100644 --- a/dtool/src/interrogatedb/py_panda.cxx +++ b/dtool/src/interrogatedb/py_panda.cxx @@ -801,7 +801,7 @@ bool Dtool_ExtractArg(PyObject **result, PyObject *args, PyObject *kwds, if (kwds != nullptr && PyDict_GET_SIZE(kwds) == 1 && PyDict_Next(kwds, &ppos, &key, result)) { // We got the item, we just need to make sure that it had the right key. -#if PY_VERSION_HEX >= 0x03060000 +#if PY_VERSION_HEX >= 0x03060000 && PY_VERSION_HEX < 0x030D0000 return PyUnicode_CheckExact(key) && _PyUnicode_EqualToASCIIString(key, keyword); #elif PY_MAJOR_VERSION >= 3 return PyUnicode_CheckExact(key) && PyUnicode_CompareWithASCIIString(key, keyword) == 0; From c08353dea7ed9cf9bff8c0b78854da14d3e91407 Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 4 Aug 2023 13:26:52 +0200 Subject: [PATCH 7/8] showbase: Don't disable Windows mesasge loop with multi-threaded pipeline Fixes half of #1494 --- direct/src/showbase/ShowBase.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/direct/src/showbase/ShowBase.py b/direct/src/showbase/ShowBase.py index 8e39f7b6ab..7db064fbea 100644 --- a/direct/src/showbase/ShowBase.py +++ b/direct/src/showbase/ShowBase.py @@ -3219,8 +3219,9 @@ class ShowBase(DirectObject.DirectObject): init_app_for_gui() # Disable the Windows message loop, since Tcl wants to handle this all - # on its own. - ConfigVariableBool('disable-message-loop', False).value = True + # on its own, except if the Panda window is on a separate thread. + if self.graphicsEngine.getThreadingModel().getDrawStage() == 0: + ConfigVariableBool('disable-message-loop', False).value = True if ConfigVariableBool('tk-main-loop', True): # Put Tkinter in charge of the main loop. It really From 360bf20933a41e35920036ce2b6c47dcabd656df Mon Sep 17 00:00:00 2001 From: rdb Date: Fri, 4 Aug 2023 14:02:13 +0200 Subject: [PATCH 8/8] dcparser: Fix segfault with nested struct or switch Fixes #1499 --- direct/src/dcparser/dcParser.cxx.prebuilt | 2314 ++++++++++----------- direct/src/dcparser/dcParser.h.prebuilt | 106 +- direct/src/dcparser/dcParser.yxx | 6 +- 3 files changed, 1165 insertions(+), 1261 deletions(-) diff --git a/direct/src/dcparser/dcParser.cxx.prebuilt b/direct/src/dcparser/dcParser.cxx.prebuilt index 399e4af2f9..6f4f167302 100644 --- a/direct/src/dcparser/dcParser.cxx.prebuilt +++ b/direct/src/dcparser/dcParser.cxx.prebuilt @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.1. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison implementation for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -33,6 +34,10 @@ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. @@ -40,11 +45,11 @@ define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ -/* Identify Bison output. */ -#define YYBISON 1 +/* Identify Bison output, and Bison version. */ +#define YYBISON 30802 -/* Bison version. */ -#define YYBISON_VERSION "3.1" +/* Bison version string. */ +#define YYBISON_VERSION "3.8.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -65,12 +70,11 @@ #define yyerror dcyyerror #define yydebug dcyydebug #define yynerrs dcyynerrs - #define yylval dcyylval #define yychar dcyychar -/* Copy the first part of user declarations. */ -#line 7 "direct/src/dcparser/dcParser.yxx" /* yacc.c:339 */ +/* First part of user prologue. */ +#line 7 "direct/src/dcparser/dcParser.yxx" #include "dcLexerDefs.h" #include "dcParserDefs.h" @@ -152,172 +156,273 @@ dc_cleanup_parser() { } -#line 156 "built/tmp/dcParser.yxx.c" /* yacc.c:339 */ +#line 160 "built/tmp/dcParser.yxx.c" -# ifndef YY_NULLPTR -# if defined __cplusplus && 201103L <= __cplusplus -# define YY_NULLPTR nullptr +# ifndef YY_CAST +# ifdef __cplusplus +# define YY_CAST(Type, Val) static_cast (Val) +# define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast (Val) # else -# define YY_NULLPTR 0 +# define YY_CAST(Type, Val) ((Type) (Val)) +# define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val)) +# endif +# endif +# ifndef YY_NULLPTR +# if defined __cplusplus +# if 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# else +# define YY_NULLPTR ((void*)0) # endif # endif -/* Enabling verbose error messages. */ -#ifdef YYERROR_VERBOSE -# undef YYERROR_VERBOSE -# define YYERROR_VERBOSE 1 -#else -# define YYERROR_VERBOSE 0 -#endif - -/* In a future release of Bison, this section will be replaced - by #include "dcParser.yxx.h". */ -#ifndef YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED -# define YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED -/* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif -#if YYDEBUG -extern int dcyydebug; -#endif - -/* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype - { - UNSIGNED_INTEGER = 258, - SIGNED_INTEGER = 259, - REAL = 260, - STRING = 261, - IDENTIFIER = 262, - HEX_STRING = 263, - KEYWORD = 264, - KW_DCLASS = 265, - KW_STRUCT = 266, - KW_FROM = 267, - KW_IMPORT = 268, - KW_TYPEDEF = 269, - KW_KEYWORD = 270, - KW_SWITCH = 271, - KW_CASE = 272, - KW_DEFAULT = 273, - KW_BREAK = 274, - KW_INT8 = 275, - KW_INT16 = 276, - KW_INT32 = 277, - KW_INT64 = 278, - KW_UINT8 = 279, - KW_UINT16 = 280, - KW_UINT32 = 281, - KW_UINT64 = 282, - KW_FLOAT64 = 283, - KW_STRING = 284, - KW_BLOB = 285, - KW_BLOB32 = 286, - KW_INT8ARRAY = 287, - KW_INT16ARRAY = 288, - KW_INT32ARRAY = 289, - KW_UINT8ARRAY = 290, - KW_UINT16ARRAY = 291, - KW_UINT32ARRAY = 292, - KW_UINT32UINT8ARRAY = 293, - KW_CHAR = 294, - START_DC = 295, - START_PARAMETER_VALUE = 296, - START_PARAMETER_DESCRIPTION = 297 - }; -#endif -/* Tokens. */ -#define UNSIGNED_INTEGER 258 -#define SIGNED_INTEGER 259 -#define REAL 260 -#define STRING 261 -#define IDENTIFIER 262 -#define HEX_STRING 263 -#define KEYWORD 264 -#define KW_DCLASS 265 -#define KW_STRUCT 266 -#define KW_FROM 267 -#define KW_IMPORT 268 -#define KW_TYPEDEF 269 -#define KW_KEYWORD 270 -#define KW_SWITCH 271 -#define KW_CASE 272 -#define KW_DEFAULT 273 -#define KW_BREAK 274 -#define KW_INT8 275 -#define KW_INT16 276 -#define KW_INT32 277 -#define KW_INT64 278 -#define KW_UINT8 279 -#define KW_UINT16 280 -#define KW_UINT32 281 -#define KW_UINT64 282 -#define KW_FLOAT64 283 -#define KW_STRING 284 -#define KW_BLOB 285 -#define KW_BLOB32 286 -#define KW_INT8ARRAY 287 -#define KW_INT16ARRAY 288 -#define KW_INT32ARRAY 289 -#define KW_UINT8ARRAY 290 -#define KW_UINT16ARRAY 291 -#define KW_UINT32ARRAY 292 -#define KW_UINT32UINT8ARRAY 293 -#define KW_CHAR 294 -#define START_DC 295 -#define START_PARAMETER_VALUE 296 -#define START_PARAMETER_DESCRIPTION 297 - -/* Value type. */ +#include "dcParser.yxx.h" +/* Symbol kind. */ +enum yysymbol_kind_t +{ + YYSYMBOL_YYEMPTY = -2, + YYSYMBOL_YYEOF = 0, /* "end of file" */ + YYSYMBOL_YYerror = 1, /* error */ + YYSYMBOL_YYUNDEF = 2, /* "invalid token" */ + YYSYMBOL_UNSIGNED_INTEGER = 3, /* UNSIGNED_INTEGER */ + YYSYMBOL_SIGNED_INTEGER = 4, /* SIGNED_INTEGER */ + YYSYMBOL_REAL = 5, /* REAL */ + YYSYMBOL_STRING = 6, /* STRING */ + YYSYMBOL_IDENTIFIER = 7, /* IDENTIFIER */ + YYSYMBOL_HEX_STRING = 8, /* HEX_STRING */ + YYSYMBOL_KEYWORD = 9, /* KEYWORD */ + YYSYMBOL_KW_DCLASS = 10, /* KW_DCLASS */ + YYSYMBOL_KW_STRUCT = 11, /* KW_STRUCT */ + YYSYMBOL_KW_FROM = 12, /* KW_FROM */ + YYSYMBOL_KW_IMPORT = 13, /* KW_IMPORT */ + YYSYMBOL_KW_TYPEDEF = 14, /* KW_TYPEDEF */ + YYSYMBOL_KW_KEYWORD = 15, /* KW_KEYWORD */ + YYSYMBOL_KW_SWITCH = 16, /* KW_SWITCH */ + YYSYMBOL_KW_CASE = 17, /* KW_CASE */ + YYSYMBOL_KW_DEFAULT = 18, /* KW_DEFAULT */ + YYSYMBOL_KW_BREAK = 19, /* KW_BREAK */ + YYSYMBOL_KW_INT8 = 20, /* KW_INT8 */ + YYSYMBOL_KW_INT16 = 21, /* KW_INT16 */ + YYSYMBOL_KW_INT32 = 22, /* KW_INT32 */ + YYSYMBOL_KW_INT64 = 23, /* KW_INT64 */ + YYSYMBOL_KW_UINT8 = 24, /* KW_UINT8 */ + YYSYMBOL_KW_UINT16 = 25, /* KW_UINT16 */ + YYSYMBOL_KW_UINT32 = 26, /* KW_UINT32 */ + YYSYMBOL_KW_UINT64 = 27, /* KW_UINT64 */ + YYSYMBOL_KW_FLOAT64 = 28, /* KW_FLOAT64 */ + YYSYMBOL_KW_STRING = 29, /* KW_STRING */ + YYSYMBOL_KW_BLOB = 30, /* KW_BLOB */ + YYSYMBOL_KW_BLOB32 = 31, /* KW_BLOB32 */ + YYSYMBOL_KW_INT8ARRAY = 32, /* KW_INT8ARRAY */ + YYSYMBOL_KW_INT16ARRAY = 33, /* KW_INT16ARRAY */ + YYSYMBOL_KW_INT32ARRAY = 34, /* KW_INT32ARRAY */ + YYSYMBOL_KW_UINT8ARRAY = 35, /* KW_UINT8ARRAY */ + YYSYMBOL_KW_UINT16ARRAY = 36, /* KW_UINT16ARRAY */ + YYSYMBOL_KW_UINT32ARRAY = 37, /* KW_UINT32ARRAY */ + YYSYMBOL_KW_UINT32UINT8ARRAY = 38, /* KW_UINT32UINT8ARRAY */ + YYSYMBOL_KW_CHAR = 39, /* KW_CHAR */ + YYSYMBOL_START_DC = 40, /* START_DC */ + YYSYMBOL_START_PARAMETER_VALUE = 41, /* START_PARAMETER_VALUE */ + YYSYMBOL_START_PARAMETER_DESCRIPTION = 42, /* START_PARAMETER_DESCRIPTION */ + YYSYMBOL_43_ = 43, /* ';' */ + YYSYMBOL_44_ = 44, /* '/' */ + YYSYMBOL_45_ = 45, /* '.' */ + YYSYMBOL_46_ = 46, /* '*' */ + YYSYMBOL_47_ = 47, /* ',' */ + YYSYMBOL_48_ = 48, /* '{' */ + YYSYMBOL_49_ = 49, /* '}' */ + YYSYMBOL_50_ = 50, /* ':' */ + YYSYMBOL_51_ = 51, /* '(' */ + YYSYMBOL_52_ = 52, /* ')' */ + YYSYMBOL_53_ = 53, /* '=' */ + YYSYMBOL_54_ = 54, /* '%' */ + YYSYMBOL_55_ = 55, /* '-' */ + YYSYMBOL_56_ = 56, /* '[' */ + YYSYMBOL_57_ = 57, /* ']' */ + YYSYMBOL_YYACCEPT = 58, /* $accept */ + YYSYMBOL_grammar = 59, /* grammar */ + YYSYMBOL_dc = 60, /* dc */ + YYSYMBOL_slash_identifier = 61, /* slash_identifier */ + YYSYMBOL_import_identifier = 62, /* import_identifier */ + YYSYMBOL_import = 63, /* import */ + YYSYMBOL_64_1 = 64, /* $@1 */ + YYSYMBOL_import_symbol_list_or_star = 65, /* import_symbol_list_or_star */ + YYSYMBOL_import_symbol_list = 66, /* import_symbol_list */ + YYSYMBOL_typedef_decl = 67, /* typedef_decl */ + YYSYMBOL_keyword_decl = 68, /* keyword_decl */ + YYSYMBOL_keyword_decl_list = 69, /* keyword_decl_list */ + YYSYMBOL_dclass_or_struct = 70, /* dclass_or_struct */ + YYSYMBOL_dclass = 71, /* dclass */ + YYSYMBOL_72_2 = 72, /* @2 */ + YYSYMBOL_dclass_name = 73, /* dclass_name */ + YYSYMBOL_dclass_derivation = 74, /* dclass_derivation */ + YYSYMBOL_dclass_base_list = 75, /* dclass_base_list */ + YYSYMBOL_dclass_fields = 76, /* dclass_fields */ + YYSYMBOL_dclass_field = 77, /* dclass_field */ + YYSYMBOL_struct = 78, /* struct */ + YYSYMBOL_79_3 = 79, /* @3 */ + YYSYMBOL_struct_name = 80, /* struct_name */ + YYSYMBOL_struct_derivation = 81, /* struct_derivation */ + YYSYMBOL_struct_base_list = 82, /* struct_base_list */ + YYSYMBOL_struct_fields = 83, /* struct_fields */ + YYSYMBOL_struct_field = 84, /* struct_field */ + YYSYMBOL_atomic_field = 85, /* atomic_field */ + YYSYMBOL_86_4 = 86, /* @4 */ + YYSYMBOL_parameter_list = 87, /* parameter_list */ + YYSYMBOL_nonempty_parameter_list = 88, /* nonempty_parameter_list */ + YYSYMBOL_atomic_element = 89, /* atomic_element */ + YYSYMBOL_named_parameter = 90, /* named_parameter */ + YYSYMBOL_91_5 = 91, /* $@5 */ + YYSYMBOL_unnamed_parameter = 92, /* unnamed_parameter */ + YYSYMBOL_named_parameter_with_default = 93, /* named_parameter_with_default */ + YYSYMBOL_94_6 = 94, /* $@6 */ + YYSYMBOL_unnamed_parameter_with_default = 95, /* unnamed_parameter_with_default */ + YYSYMBOL_96_7 = 96, /* $@7 */ + YYSYMBOL_parameter = 97, /* parameter */ + YYSYMBOL_parameter_with_default = 98, /* parameter_with_default */ + YYSYMBOL_parameter_or_atomic = 99, /* parameter_or_atomic */ + YYSYMBOL_parameter_description = 100, /* parameter_description */ + YYSYMBOL_simple_type_name = 101, /* simple_type_name */ + YYSYMBOL_type_name = 102, /* type_name */ + YYSYMBOL_double_range = 103, /* double_range */ + YYSYMBOL_uint_range = 104, /* uint_range */ + YYSYMBOL_type_definition = 105, /* type_definition */ + YYSYMBOL_parameter_definition = 106, /* parameter_definition */ + YYSYMBOL_char_or_uint = 107, /* char_or_uint */ + YYSYMBOL_small_unsigned_integer = 108, /* small_unsigned_integer */ + YYSYMBOL_small_negative_integer = 109, /* small_negative_integer */ + YYSYMBOL_signed_integer = 110, /* signed_integer */ + YYSYMBOL_unsigned_integer = 111, /* unsigned_integer */ + YYSYMBOL_number = 112, /* number */ + YYSYMBOL_char_or_number = 113, /* char_or_number */ + YYSYMBOL_parameter_value = 114, /* parameter_value */ + YYSYMBOL_115_8 = 115, /* $@8 */ + YYSYMBOL_parameter_actual_value = 116, /* parameter_actual_value */ + YYSYMBOL_117_9 = 117, /* $@9 */ + YYSYMBOL_118_10 = 118, /* $@10 */ + YYSYMBOL_119_11 = 119, /* $@11 */ + YYSYMBOL_array = 120, /* array */ + YYSYMBOL_maybe_comma = 121, /* maybe_comma */ + YYSYMBOL_array_def = 122, /* array_def */ + YYSYMBOL_type_token = 123, /* type_token */ + YYSYMBOL_keyword_list = 124, /* keyword_list */ + YYSYMBOL_no_keyword_list = 125, /* no_keyword_list */ + YYSYMBOL_molecular_field = 126, /* molecular_field */ + YYSYMBOL_127_12 = 127, /* $@12 */ + YYSYMBOL_atomic_name = 128, /* atomic_name */ + YYSYMBOL_molecular_atom_list = 129, /* molecular_atom_list */ + YYSYMBOL_optional_name = 130, /* optional_name */ + YYSYMBOL_switch = 131, /* switch */ + YYSYMBOL_132_13 = 132, /* @13 */ + YYSYMBOL_switch_fields = 133, /* switch_fields */ + YYSYMBOL_switch_case = 134, /* switch_case */ + YYSYMBOL_135_14 = 135, /* $@14 */ + YYSYMBOL_switch_default = 136, /* switch_default */ + YYSYMBOL_switch_break = 137, /* switch_break */ + YYSYMBOL_switch_field = 138, /* switch_field */ + YYSYMBOL_empty = 139 /* empty */ +}; +typedef enum yysymbol_kind_t yysymbol_kind_t; -extern YYSTYPE dcyylval; -int dcyyparse (void); - -#endif /* !YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED */ - -/* Copy the second part of user declarations. */ - -#line 286 "built/tmp/dcParser.yxx.c" /* yacc.c:358 */ #ifdef short # undef short #endif -#ifdef YYTYPE_UINT8 -typedef YYTYPE_UINT8 yytype_uint8; -#else -typedef unsigned char yytype_uint8; +/* On compilers that do not define __PTRDIFF_MAX__ etc., make sure + and (if available) are included + so that the code can choose integer types of a good width. */ + +#ifndef __PTRDIFF_MAX__ +# include /* INFRINGES ON USER NAME SPACE */ +# if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ +# include /* INFRINGES ON USER NAME SPACE */ +# define YY_STDINT_H +# endif #endif -#ifdef YYTYPE_INT8 -typedef YYTYPE_INT8 yytype_int8; +/* Narrow types that promote to a signed type and that can represent a + signed or unsigned integer of at least N bits. In tables they can + save space and decrease cache pressure. Promoting to a signed type + helps avoid bugs in integer arithmetic. */ + +#ifdef __INT_LEAST8_MAX__ +typedef __INT_LEAST8_TYPE__ yytype_int8; +#elif defined YY_STDINT_H +typedef int_least8_t yytype_int8; #else typedef signed char yytype_int8; #endif -#ifdef YYTYPE_UINT16 -typedef YYTYPE_UINT16 yytype_uint16; -#else -typedef unsigned short yytype_uint16; -#endif - -#ifdef YYTYPE_INT16 -typedef YYTYPE_INT16 yytype_int16; +#ifdef __INT_LEAST16_MAX__ +typedef __INT_LEAST16_TYPE__ yytype_int16; +#elif defined YY_STDINT_H +typedef int_least16_t yytype_int16; #else typedef short yytype_int16; #endif +/* Work around bug in HP-UX 11.23, which defines these macros + incorrectly for preprocessor constants. This workaround can likely + be removed in 2023, as HPE has promised support for HP-UX 11.23 + (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of + . */ +#ifdef __hpux +# undef UINT_LEAST8_MAX +# undef UINT_LEAST16_MAX +# define UINT_LEAST8_MAX 255 +# define UINT_LEAST16_MAX 65535 +#endif + +#if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST8_TYPE__ yytype_uint8; +#elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST8_MAX <= INT_MAX) +typedef uint_least8_t yytype_uint8; +#elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX +typedef unsigned char yytype_uint8; +#else +typedef short yytype_uint8; +#endif + +#if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__ +typedef __UINT_LEAST16_TYPE__ yytype_uint16; +#elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \ + && UINT_LEAST16_MAX <= INT_MAX) +typedef uint_least16_t yytype_uint16; +#elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX +typedef unsigned short yytype_uint16; +#else +typedef int yytype_uint16; +#endif + +#ifndef YYPTRDIFF_T +# if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__ +# define YYPTRDIFF_T __PTRDIFF_TYPE__ +# define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__ +# elif defined PTRDIFF_MAX +# ifndef ptrdiff_t +# include /* INFRINGES ON USER NAME SPACE */ +# endif +# define YYPTRDIFF_T ptrdiff_t +# define YYPTRDIFF_MAXIMUM PTRDIFF_MAX +# else +# define YYPTRDIFF_T long +# define YYPTRDIFF_MAXIMUM LONG_MAX +# endif +#endif + #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T +# elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__ # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -325,7 +430,20 @@ typedef short yytype_int16; # endif #endif -#define YYSIZE_MAXIMUM ((YYSIZE_T) -1) +#define YYSIZE_MAXIMUM \ + YY_CAST (YYPTRDIFF_T, \ + (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1) \ + ? YYPTRDIFF_MAXIMUM \ + : YY_CAST (YYSIZE_T, -1))) + +#define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X)) + + +/* Stored state numbers (used for stacks). */ +typedef yytype_int16 yy_state_t; + +/* State numbers in computations. */ +typedef int yy_state_fast_t; #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS @@ -339,47 +457,43 @@ typedef short yytype_int16; # endif #endif -#ifndef YY_ATTRIBUTE -# if (defined __GNUC__ \ - && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ - || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C -# define YY_ATTRIBUTE(Spec) __attribute__(Spec) + +#ifndef YY_ATTRIBUTE_PURE +# if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_PURE __attribute__ ((__pure__)) # else -# define YY_ATTRIBUTE(Spec) /* empty */ +# define YY_ATTRIBUTE_PURE # endif #endif -#ifndef YY_ATTRIBUTE_PURE -# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) -#endif - #ifndef YY_ATTRIBUTE_UNUSED -# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) -#endif - -#if !defined _Noreturn \ - && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) -# if defined _MSC_VER && 1200 <= _MSC_VER -# define _Noreturn __declspec (noreturn) +# if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__) +# define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) # else -# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) +# define YY_ATTRIBUTE_UNUSED # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(E) ((void) (E)) +# define YY_USE(E) ((void) (E)) #else -# define YYUSE(E) /* empty */ +# define YY_USE(E) /* empty */ #endif -#if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ -# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ - _Pragma ("GCC diagnostic push") \ - _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ +#if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__ +# if __GNUC__ * 100 + __GNUC_MINOR__ < 407 +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") +# else +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"") \ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") -# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ +# endif +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value @@ -392,8 +506,22 @@ typedef short yytype_int16; # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif +#if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__ +# define YY_IGNORE_USELESS_CAST_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"") +# define YY_IGNORE_USELESS_CAST_END \ + _Pragma ("GCC diagnostic pop") +#endif +#ifndef YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_BEGIN +# define YY_IGNORE_USELESS_CAST_END +#endif -#if ! defined yyoverflow || YYERROR_VERBOSE + +#define YY_ASSERT(E) ((void) (0 && (E))) + +#if !defined yyoverflow /* The parser invokes alloca or malloc; define the necessary symbols. */ @@ -458,8 +586,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif -#endif /* ! defined yyoverflow || YYERROR_VERBOSE */ - +#endif /* !defined yyoverflow */ #if (! defined yyoverflow \ && (! defined __cplusplus \ @@ -468,17 +595,17 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ /* A type that is properly aligned for any stack member. */ union yyalloc { - yytype_int16 yyss_alloc; + yy_state_t yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ -# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) +# define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ - ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 @@ -491,11 +618,11 @@ union yyalloc # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ - YYSIZE_T yynewbytes; \ + YYPTRDIFF_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ + yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / YYSIZEOF (*yyptr); \ } \ while (0) @@ -507,12 +634,12 @@ union yyalloc # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ - __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) + __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ - YYSIZE_T yyi; \ + YYPTRDIFF_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ @@ -535,17 +662,20 @@ union yyalloc /* YYNSTATES -- Number of states. */ #define YYNSTATES 282 -/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned - by yylex, with out-of-bounds checking. */ -#define YYUNDEFTOK 2 +/* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 297 -#define YYTRANSLATE(YYX) \ - ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, with out-of-bounds checking. */ +#define YYTRANSLATE(YYX) \ + (0 <= (YYX) && (YYX) <= YYMAXUTOK \ + ? YY_CAST (yysymbol_kind_t, yytranslate[YYX]) \ + : YYSYMBOL_YYUNDEF) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM - as returned by yylex, without out-of-bounds checking. */ -static const yytype_uint8 yytranslate[] = + as returned by yylex. */ +static const yytype_int8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -580,56 +710,63 @@ static const yytype_uint8 yytranslate[] = }; #if YYDEBUG - /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ -static const yytype_uint16 yyrline[] = +/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ +static const yytype_int16 yyrline[] = { 0, 174, 174, 175, 176, 183, 184, 185, 196, 202, 203, 204, 208, 209, 216, 217, 224, 229, 228, 236, 237, 244, 248, 255, 273, 277, 278, 282, 293, 294, - 299, 298, 310, 333, 334, 338, 344, 358, 359, 360, - 373, 383, 384, 392, 403, 402, 414, 437, 438, 442, - 448, 457, 458, 459, 470, 477, 478, 482, 490, 489, - 507, 508, 512, 513, 517, 527, 526, 537, 541, 543, - 542, 571, 573, 572, 601, 602, 606, 607, 611, 615, - 622, 626, 630, 637, 641, 650, 666, 681, 682, 714, - 730, 749, 753, 760, 767, 776, 782, 788, 799, 803, - 810, 817, 824, 830, 836, 845, 846, 857, 862, 877, - 892, 899, 908, 912, 923, 937, 941, 945, 949, 953, - 957, 966, 971, 975, 974, 989, 993, 997, 1001, 1005, - 1010, 1009, 1018, 1017, 1026, 1025, 1033, 1039, 1045, 1051, - 1060, 1061, 1065, 1066, 1070, 1071, 1075, 1079, 1083, 1087, - 1091, 1095, 1099, 1103, 1107, 1111, 1115, 1119, 1123, 1127, - 1131, 1135, 1139, 1143, 1147, 1151, 1158, 1162, 1169, 1179, - 1178, 1189, 1216, 1222, 1236, 1240, 1245, 1244, 1257, 1258, - 1259, 1260, 1261, 1262, 1276, 1275, 1296, 1305, 1312, 1316, - 1322 + 299, 298, 311, 334, 335, 339, 345, 359, 360, 361, + 374, 384, 385, 393, 404, 403, 416, 439, 440, 444, + 450, 459, 460, 461, 472, 479, 480, 484, 492, 491, + 510, 511, 515, 516, 520, 530, 529, 540, 544, 546, + 545, 574, 576, 575, 604, 605, 609, 610, 614, 618, + 625, 629, 633, 640, 644, 653, 669, 684, 685, 717, + 733, 752, 756, 763, 770, 779, 785, 791, 802, 806, + 813, 820, 827, 833, 839, 848, 849, 860, 865, 880, + 895, 902, 911, 915, 926, 940, 944, 948, 952, 956, + 960, 969, 974, 978, 977, 992, 996, 1000, 1004, 1008, + 1013, 1012, 1021, 1020, 1029, 1028, 1036, 1042, 1048, 1054, + 1063, 1064, 1068, 1069, 1073, 1074, 1078, 1082, 1086, 1090, + 1094, 1098, 1102, 1106, 1110, 1114, 1118, 1122, 1126, 1130, + 1134, 1138, 1142, 1146, 1150, 1154, 1161, 1165, 1172, 1182, + 1181, 1192, 1219, 1225, 1239, 1243, 1248, 1247, 1261, 1262, + 1263, 1264, 1265, 1266, 1280, 1279, 1300, 1309, 1316, 1320, + 1326 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 0 +/** Accessing symbol of state STATE. */ +#define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State]) + +#if YYDEBUG || 0 +/* The user-facing name of the symbol whose (internal) number is + YYSYMBOL. No bounds checking. */ +static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED; + /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { - "$end", "error", "$undefined", "UNSIGNED_INTEGER", "SIGNED_INTEGER", - "REAL", "STRING", "IDENTIFIER", "HEX_STRING", "KEYWORD", "KW_DCLASS", - "KW_STRUCT", "KW_FROM", "KW_IMPORT", "KW_TYPEDEF", "KW_KEYWORD", - "KW_SWITCH", "KW_CASE", "KW_DEFAULT", "KW_BREAK", "KW_INT8", "KW_INT16", - "KW_INT32", "KW_INT64", "KW_UINT8", "KW_UINT16", "KW_UINT32", - "KW_UINT64", "KW_FLOAT64", "KW_STRING", "KW_BLOB", "KW_BLOB32", - "KW_INT8ARRAY", "KW_INT16ARRAY", "KW_INT32ARRAY", "KW_UINT8ARRAY", - "KW_UINT16ARRAY", "KW_UINT32ARRAY", "KW_UINT32UINT8ARRAY", "KW_CHAR", - "START_DC", "START_PARAMETER_VALUE", "START_PARAMETER_DESCRIPTION", - "';'", "'/'", "'.'", "'*'", "','", "'{'", "'}'", "':'", "'('", "')'", - "'='", "'%'", "'-'", "'['", "']'", "$accept", "grammar", "dc", - "slash_identifier", "import_identifier", "import", "$@1", - "import_symbol_list_or_star", "import_symbol_list", "typedef_decl", - "keyword_decl", "keyword_decl_list", "dclass_or_struct", "dclass", "@2", - "dclass_name", "dclass_derivation", "dclass_base_list", "dclass_fields", - "dclass_field", "struct", "@3", "struct_name", "struct_derivation", - "struct_base_list", "struct_fields", "struct_field", "atomic_field", - "@4", "parameter_list", "nonempty_parameter_list", "atomic_element", - "named_parameter", "$@5", "unnamed_parameter", + "\"end of file\"", "error", "\"invalid token\"", "UNSIGNED_INTEGER", + "SIGNED_INTEGER", "REAL", "STRING", "IDENTIFIER", "HEX_STRING", + "KEYWORD", "KW_DCLASS", "KW_STRUCT", "KW_FROM", "KW_IMPORT", + "KW_TYPEDEF", "KW_KEYWORD", "KW_SWITCH", "KW_CASE", "KW_DEFAULT", + "KW_BREAK", "KW_INT8", "KW_INT16", "KW_INT32", "KW_INT64", "KW_UINT8", + "KW_UINT16", "KW_UINT32", "KW_UINT64", "KW_FLOAT64", "KW_STRING", + "KW_BLOB", "KW_BLOB32", "KW_INT8ARRAY", "KW_INT16ARRAY", "KW_INT32ARRAY", + "KW_UINT8ARRAY", "KW_UINT16ARRAY", "KW_UINT32ARRAY", + "KW_UINT32UINT8ARRAY", "KW_CHAR", "START_DC", "START_PARAMETER_VALUE", + "START_PARAMETER_DESCRIPTION", "';'", "'/'", "'.'", "'*'", "','", "'{'", + "'}'", "':'", "'('", "')'", "'='", "'%'", "'-'", "'['", "']'", "$accept", + "grammar", "dc", "slash_identifier", "import_identifier", "import", + "$@1", "import_symbol_list_or_star", "import_symbol_list", + "typedef_decl", "keyword_decl", "keyword_decl_list", "dclass_or_struct", + "dclass", "@2", "dclass_name", "dclass_derivation", "dclass_base_list", + "dclass_fields", "dclass_field", "struct", "@3", "struct_name", + "struct_derivation", "struct_base_list", "struct_fields", "struct_field", + "atomic_field", "@4", "parameter_list", "nonempty_parameter_list", + "atomic_element", "named_parameter", "$@5", "unnamed_parameter", "named_parameter_with_default", "$@6", "unnamed_parameter_with_default", "$@7", "parameter", "parameter_with_default", "parameter_or_atomic", "parameter_description", "simple_type_name", "type_name", "double_range", @@ -642,34 +779,26 @@ static const char *const yytname[] = "optional_name", "switch", "@13", "switch_fields", "switch_case", "$@14", "switch_default", "switch_break", "switch_field", "empty", YY_NULLPTR }; + +static const char * +yysymbol_name (yysymbol_kind_t yysymbol) +{ + return yytname[yysymbol]; +} #endif -# ifdef YYPRINT -/* YYTOKNUM[NUM] -- (External) token number corresponding to the - (internal) symbol number NUM (which must be that of a token). */ -static const yytype_uint16 yytoknum[] = -{ - 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, - 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, - 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, - 295, 296, 297, 59, 47, 46, 42, 44, 123, 125, - 58, 40, 41, 61, 37, 45, 91, 93 -}; -# endif +#define YYPACT_NINF (-127) -#define YYPACT_NINF -127 +#define yypact_value_is_default(Yyn) \ + ((Yyn) == YYPACT_NINF) -#define yypact_value_is_default(Yystate) \ - (!!((Yystate) == (-127))) +#define YYTABLE_NINF (-176) -#define YYTABLE_NINF -176 - -#define yytable_value_is_error(Yytable_value) \ +#define yytable_value_is_error(Yyn) \ 0 - /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { 61, -127, 104, 359, 19, 128, -127, -127, -127, -23, @@ -703,9 +832,9 @@ static const yytype_int16 yypact[] = -127, -127 }; - /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. - Performed when YYTABLE does not specify something else to do. Zero - means the default is an error. */ +/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 190, 0, 190, 0, 2, 5, 116, 115, 127, @@ -739,7 +868,7 @@ static const yytype_uint8 yydefact[] = 173, 185 }; - /* YYPGOTO[NTERM-NUM]. */ +/* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -127, -127, -127, -126, 143, -127, -127, -127, -127, -127, @@ -753,10 +882,10 @@ static const yytype_int16 yypgoto[] = -127, 3 }; - /* YYDEFGOTO[NTERM-NUM]. */ +/* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - -1, 4, 5, 97, 98, 64, 186, 209, 210, 65, + 0, 4, 5, 97, 98, 64, 186, 209, 210, 65, 66, 104, 67, 68, 143, 204, 183, 205, 222, 240, 43, 120, 190, 156, 191, 212, 229, 44, 142, 177, 178, 179, 45, 93, 46, 101, 123, 102, 124, 161, @@ -767,9 +896,9 @@ static const yytype_int16 yydefgoto[] = 270, 84 }; - /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule whose - number is the opposite. If YYTABLE_NINF, syntax error. */ +/* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 18, 134, 47, 48, 6, 158, 56, 87, 88, 129, @@ -866,8 +995,8 @@ static const yytype_int16 yycheck[] = 38, 39 }; - /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ +/* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of + state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 40, 41, 42, 59, 60, 139, 3, 4, 5, @@ -901,7 +1030,7 @@ static const yytype_uint8 yystos[] = 128, 50 }; - /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +/* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ static const yytype_uint8 yyr1[] = { 0, 58, 59, 59, 59, 60, 60, 60, 60, 60, @@ -926,8 +1055,8 @@ static const yytype_uint8 yyr1[] = 139 }; - /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = +/* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ +static const yytype_int8 yyr2[] = { 0, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 3, 1, 3, 2, 0, 5, 1, @@ -952,39 +1081,39 @@ static const yytype_uint8 yyr2[] = }; +enum { YYENOMEM = -2 }; + #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab +#define YYNOMEM goto yyexhaustedlab #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - YYPOPSTACK (yylen); \ - yystate = *yyssp; \ - goto yybackup; \ - } \ - else \ - { \ - yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (0) - -/* Error token number */ -#define YYTERROR 1 -#define YYERRCODE 256 +#define YYBACKUP(Token, Value) \ + do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (YY_("syntax error: cannot back up")); \ + YYERROR; \ + } \ + while (0) +/* Backward compatibility with an undocumented macro. + Use YYerror or YYUNDEF. */ +#define YYERRCODE YYUNDEF /* Enable debugging if requested. */ @@ -1001,55 +1130,52 @@ do { \ YYFPRINTF Args; \ } while (0) -/* This macro is provided for backward compatibility. */ -#ifndef YY_LOCATION_PRINT -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -#endif -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ + +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ - Type, Value); \ + Kind, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) -/*----------------------------------------. -| Print this symbol's value on YYOUTPUT. | -`----------------------------------------*/ +/*-----------------------------------. +| Print this symbol's value on YYO. | +`-----------------------------------*/ static void -yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_value_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { - FILE *yyo = yyoutput; - YYUSE (yyo); + FILE *yyoutput = yyo; + YY_USE (yyoutput); if (!yyvaluep) return; -# ifdef YYPRINT - if (yytype < YYNTOKENS) - YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# endif - YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YY_USE (yykind); + YY_IGNORE_MAYBE_UNINITIALIZED_END } -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +/*---------------------------. +| Print this symbol on YYO. | +`---------------------------*/ static void -yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) +yy_symbol_print (FILE *yyo, + yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep) { - YYFPRINTF (yyoutput, "%s %s (", - yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); + YYFPRINTF (yyo, "%s %s (", + yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind)); - yy_symbol_value_print (yyoutput, yytype, yyvaluep); - YYFPRINTF (yyoutput, ")"); + yy_symbol_value_print (yyo, yykind, yyvaluep); + YYFPRINTF (yyo, ")"); } /*------------------------------------------------------------------. @@ -1058,7 +1184,7 @@ yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) `------------------------------------------------------------------*/ static void -yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) +yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -1081,21 +1207,21 @@ do { \ `------------------------------------------------*/ static void -yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) +yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, + int yyrule) { - unsigned long yylno = yyrline[yyrule]; + int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", + YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, - yystos[yyssp[yyi + 1 - yynrhs]], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); + YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]), + &yyvsp[(yyi + 1) - (yynrhs)]); YYFPRINTF (stderr, "\n"); } } @@ -1110,8 +1236,8 @@ do { \ multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ -# define YYDPRINTF(Args) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) +# define YYDPRINTF(Args) ((void) 0) +# define YY_SYMBOL_PRINT(Title, Kind, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ @@ -1134,250 +1260,30 @@ int yydebug; #endif -#if YYERROR_VERBOSE -# ifndef yystrlen -# if defined __GLIBC__ && defined _STRING_H -# define yystrlen strlen -# else -/* Return the length of YYSTR. */ -static YYSIZE_T -yystrlen (const char *yystr) -{ - YYSIZE_T yylen; - for (yylen = 0; yystr[yylen]; yylen++) - continue; - return yylen; -} -# endif -# endif -# ifndef yystpcpy -# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE -# define yystpcpy stpcpy -# else -/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in - YYDEST. */ -static char * -yystpcpy (char *yydest, const char *yysrc) -{ - char *yyd = yydest; - const char *yys = yysrc; - while ((*yyd++ = *yys++) != '\0') - continue; - - return yyd - 1; -} -# endif -# endif - -# ifndef yytnamerr -/* Copy to YYRES the contents of YYSTR after stripping away unnecessary - quotes and backslashes, so that it's suitable for yyerror. The - heuristic is that double-quoting is unnecessary unless the string - contains an apostrophe, a comma, or backslash (other than - backslash-backslash). YYSTR is taken from yytname. If YYRES is - null, do not copy; instead, return the length of what the result - would have been. */ -static YYSIZE_T -yytnamerr (char *yyres, const char *yystr) -{ - if (*yystr == '"') - { - YYSIZE_T yyn = 0; - char const *yyp = yystr; - - for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; - - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; - - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } - do_not_strip_quotes: ; - } - - if (! yyres) - return yystrlen (yystr); - - return yystpcpy (yyres, yystr) - yyres; -} -# endif - -/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message - about the unexpected token YYTOKEN for the state stack whose top is - YYSSP. - - Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is - not large enough to hold the message. In that case, also set - *YYMSG_ALLOC to the required number of bytes. Return 2 if the - required number of bytes is too large to store. */ -static int -yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, - yytype_int16 *yyssp, int yytoken) -{ - YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); - YYSIZE_T yysize = yysize0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - /* Internationalized format string. */ - const char *yyformat = YY_NULLPTR; - /* Arguments of yyformat. */ - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - /* Number of reported tokens (one for the "unexpected", one per - "expected"). */ - int yycount = 0; - - /* There are many possibilities here to consider: - - If this state is a consistent state with a default action, then - the only way this function was invoked is if the default action - is an error action. In that case, don't check for expected - tokens because there are none. - - The only way there can be no lookahead present (in yychar) is if - this state is a consistent state with a default action. Thus, - detecting the absence of a lookahead is sufficient to determine - that there is no unexpected or expected token to report. In that - case, just report a simple "syntax error". - - Don't assume there isn't a lookahead just because this state is a - consistent state with a default action. There might have been a - previous inconsistent state, consistent state with a non-default - action, or user semantic action that manipulated yychar. - - Of course, the expected token list depends on states to have - correct lookahead information, and it depends on the parser not - to perform extra reductions after fetching a lookahead from the - scanner and before detecting a syntax error. Thus, state merging - (from LALR or IELR) and default reductions corrupt the expected - token list. However, the list is correct for canonical LR with - one exception: it will still contain any token that will not be - accepted due to an error action in a later state. - */ - if (yytoken != YYEMPTY) - { - int yyn = yypact[*yyssp]; - yyarg[yycount++] = yytname[yytoken]; - if (!yypact_value_is_default (yyn)) - { - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. In other words, skip the first -YYN actions for - this state because they are default actions. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yyx; - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR - && !yytable_value_is_error (yytable[yyx + yyn])) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - break; - } - yyarg[yycount++] = yytname[yyx]; - { - YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); - if (! (yysize <= yysize1 - && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - } - } - } - - switch (yycount) - { -# define YYCASE_(N, S) \ - case N: \ - yyformat = S; \ - break - default: /* Avoid compiler warnings. */ - YYCASE_(0, YY_("syntax error")); - YYCASE_(1, YY_("syntax error, unexpected %s")); - YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); - YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); - YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); - YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); -# undef YYCASE_ - } - - { - YYSIZE_T yysize1 = yysize + yystrlen (yyformat); - if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) - return 2; - yysize = yysize1; - } - - if (*yymsg_alloc < yysize) - { - *yymsg_alloc = 2 * yysize; - if (! (yysize <= *yymsg_alloc - && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) - *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; - return 1; - } - - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - { - char *yyp = *yymsg; - int yyi = 0; - while ((*yyp = *yyformat) != '\0') - if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyformat += 2; - } - else - { - yyp++; - yyformat++; - } - } - return 0; -} -#endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void -yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) +yydestruct (const char *yymsg, + yysymbol_kind_t yykind, YYSTYPE *yyvaluep) { - YYUSE (yyvaluep); + YY_USE (yyvaluep); if (!yymsg) yymsg = "Deleting"; - YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); + YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN - YYUSE (yytype); + YY_USE (yykind); YY_IGNORE_MAYBE_UNINITIALIZED_END } - - -/* The lookahead symbol. */ +/* Lookahead token kind. */ int yychar; /* The semantic value of the lookahead symbol. */ @@ -1386,6 +1292,8 @@ YYSTYPE yylval; int yynerrs; + + /*----------. | yyparse. | `----------*/ @@ -1393,43 +1301,36 @@ int yynerrs; int yyparse (void) { - int yystate; + yy_state_fast_t yystate = 0; /* Number of tokens to shift before error messages enabled. */ - int yyerrstatus; + int yyerrstatus = 0; - /* The stacks and their tools: - 'yyss': related to states. - 'yyvs': related to semantic values. - - Refer to the stacks through separate pointers, to allow yyoverflow + /* Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ - /* The state stack. */ - yytype_int16 yyssa[YYINITDEPTH]; - yytype_int16 *yyss; - yytype_int16 *yyssp; + /* Their size. */ + YYPTRDIFF_T yystacksize = YYINITDEPTH; - /* The semantic value stack. */ + /* The state stack: array, bottom, top. */ + yy_state_t yyssa[YYINITDEPTH]; + yy_state_t *yyss = yyssa; + yy_state_t *yyssp = yyss; + + /* The semantic value stack: array, bottom, top. */ YYSTYPE yyvsa[YYINITDEPTH]; - YYSTYPE *yyvs; - YYSTYPE *yyvsp; - - YYSIZE_T yystacksize; + YYSTYPE *yyvs = yyvsa; + YYSTYPE *yyvsp = yyvs; int yyn; + /* The return value of yyparse. */ int yyresult; - /* Lookahead token as an internal (translated) token number. */ - int yytoken = 0; + /* Lookahead symbol kind. */ + yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; -#if YYERROR_VERBOSE - /* Buffer for error messages, and its allocated size. */ - char yymsgbuf[128]; - char *yymsg = yymsgbuf; - YYSIZE_T yymsg_alloc = sizeof yymsgbuf; -#endif + #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) @@ -1437,71 +1338,75 @@ yyparse (void) Keep to zero when no symbol should be popped. */ int yylen = 0; - yyssp = yyss = yyssa; - yyvsp = yyvs = yyvsa; - yystacksize = YYINITDEPTH; - YYDPRINTF ((stderr, "Starting parse\n")); - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ + goto yysetstate; + /*------------------------------------------------------------. -| yynewstate -- Push a new state, which is found in yystate. | +| yynewstate -- push a new state, which is found in yystate. | `------------------------------------------------------------*/ - yynewstate: +yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; - yysetstate: - *yyssp = yystate; + +/*--------------------------------------------------------------------. +| yysetstate -- set current state (the top of the stack) to yystate. | +`--------------------------------------------------------------------*/ +yysetstate: + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + YY_ASSERT (0 <= yystate && yystate < YYNSTATES); + YY_IGNORE_USELESS_CAST_BEGIN + *yyssp = YY_CAST (yy_state_t, yystate); + YY_IGNORE_USELESS_CAST_END + YY_STACK_PRINT (yyss, yyssp); if (yyss + yystacksize - 1 <= yyssp) +#if !defined yyoverflow && !defined YYSTACK_RELOCATE + YYNOMEM; +#else { /* Get the current used size of the three stacks, in elements. */ - YYSIZE_T yysize = yyssp - yyss + 1; + YYPTRDIFF_T yysize = yyssp - yyss + 1; -#ifdef yyoverflow +# if defined yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ + yy_state_t *yyss1 = yyss; YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), + &yyss1, yysize * YYSIZEOF (*yyssp), + &yyvs1, yysize * YYSIZEOF (*yyvsp), &yystacksize); - yyss = yyss1; yyvs = yyvs1; } -#else /* no yyoverflow */ -# ifndef YYSTACK_RELOCATE - goto yyexhaustedlab; -# else +# else /* defined YYSTACK_RELOCATE */ /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + YYNOMEM; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; + yy_state_t *yyss1 = yyss; union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + YY_CAST (union yyalloc *, + YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize)))); if (! yyptr) - goto yyexhaustedlab; + YYNOMEM; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE @@ -1509,30 +1414,31 @@ yyparse (void) YYSTACK_FREE (yyss1); } # endif -#endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; - YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long) yystacksize)); + YY_IGNORE_USELESS_CAST_BEGIN + YYDPRINTF ((stderr, "Stack size increased to %ld\n", + YY_CAST (long, yystacksize))); + YY_IGNORE_USELESS_CAST_END if (yyss + yystacksize - 1 <= yyssp) YYABORT; } +#endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */ - YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; + /*-----------. | yybackup. | `-----------*/ yybackup: - /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ @@ -1543,18 +1449,29 @@ yybackup: /* Not known => get a lookahead token if don't already have one. */ - /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + /* YYCHAR is either empty, or end-of-input, or a valid lookahead. */ if (yychar == YYEMPTY) { - YYDPRINTF ((stderr, "Reading a token: ")); + YYDPRINTF ((stderr, "Reading a token\n")); yychar = yylex (); } if (yychar <= YYEOF) { - yychar = yytoken = YYEOF; + yychar = YYEOF; + yytoken = YYSYMBOL_YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } + else if (yychar == YYerror) + { + /* The scanner already issued an error message, process directly + to error recovery. But do not keep the error token as + lookahead, it is too special and may lead us to an endless + loop in error recovery. */ + yychar = YYUNDEF; + yytoken = YYSYMBOL_YYerror; + goto yyerrlab1; + } else { yytoken = YYTRANSLATE (yychar); @@ -1582,15 +1499,13 @@ yybackup: /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); - - /* Discard the shifted token. */ - yychar = YYEMPTY; - yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END + /* Discard the shifted token. */ + yychar = YYEMPTY; goto yynewstate; @@ -1605,7 +1520,7 @@ yydefault: /*-----------------------------. -| yyreduce -- Do a reduction. | +| yyreduce -- do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ @@ -1625,17 +1540,17 @@ yyreduce: YY_REDUCE_PRINT (yyn); switch (yyn) { - case 4: -#line 177 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 4: /* grammar: START_PARAMETER_DESCRIPTION parameter_description */ +#line 177 "direct/src/dcparser/dcParser.yxx" +{ parameter_description = (yyvsp[0].u.field); } -#line 1634 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1549 "built/tmp/dcParser.yxx.c" break; - case 7: -#line 186 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 7: /* dc: dc dclass_or_struct */ +#line 186 "direct/src/dcparser/dcParser.yxx" +{ if (!dc_file->add_class((yyvsp[0].u.dclass))) { DCClass *old_class = dc_file->get_class_by_name((yyvsp[0].u.dclass)->get_name()); if (old_class != nullptr && old_class->is_bogus_class()) { @@ -1645,78 +1560,78 @@ yyreduce: } } } -#line 1649 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1564 "built/tmp/dcParser.yxx.c" break; - case 8: -#line 197 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 8: /* dc: dc switch */ +#line 197 "direct/src/dcparser/dcParser.yxx" +{ if (!dc_file->add_switch((yyvsp[0].u.dswitch))) { yyerror("Duplicate class name: " + (yyvsp[0].u.dswitch)->get_name()); } } -#line 1659 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1574 "built/tmp/dcParser.yxx.c" break; - case 13: -#line 210 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 13: /* slash_identifier: slash_identifier '/' IDENTIFIER */ +#line 210 "direct/src/dcparser/dcParser.yxx" +{ (yyval.str) = (yyvsp[-2].str) + string("/") + (yyvsp[0].str); } -#line 1667 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1582 "built/tmp/dcParser.yxx.c" break; - case 15: -#line 218 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 15: /* import_identifier: import_identifier '.' slash_identifier */ +#line 218 "direct/src/dcparser/dcParser.yxx" +{ (yyval.str) = (yyvsp[-2].str) + string(".") + (yyvsp[0].str); } -#line 1675 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1590 "built/tmp/dcParser.yxx.c" break; - case 16: -#line 225 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 16: /* import: KW_IMPORT import_identifier */ +#line 225 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_import_module((yyvsp[0].str)); } -#line 1683 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1598 "built/tmp/dcParser.yxx.c" break; - case 17: -#line 229 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 17: /* $@1: %empty */ +#line 229 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_import_module((yyvsp[-1].str)); } -#line 1691 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1606 "built/tmp/dcParser.yxx.c" break; - case 20: -#line 238 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 20: /* import_symbol_list_or_star: '*' */ +#line 238 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_import_symbol("*"); } -#line 1699 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1614 "built/tmp/dcParser.yxx.c" break; - case 21: -#line 245 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 21: /* import_symbol_list: slash_identifier */ +#line 245 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_import_symbol((yyvsp[0].str)); } -#line 1707 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1622 "built/tmp/dcParser.yxx.c" break; - case 22: -#line 249 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 22: /* import_symbol_list: import_symbol_list ',' slash_identifier */ +#line 249 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_import_symbol((yyvsp[0].str)); } -#line 1715 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1630 "built/tmp/dcParser.yxx.c" break; - case 23: -#line 256 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 23: /* typedef_decl: KW_TYPEDEF parameter_with_default */ +#line 256 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.parameter) != nullptr) { DCTypedef *dtypedef = new DCTypedef((yyvsp[0].u.parameter)); @@ -1730,49 +1645,50 @@ yyreduce: } } } -#line 1734 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1649 "built/tmp/dcParser.yxx.c" break; - case 26: -#line 279 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 26: /* keyword_decl_list: keyword_decl_list IDENTIFIER */ +#line 279 "direct/src/dcparser/dcParser.yxx" +{ dc_file->add_keyword((yyvsp[0].str)); } -#line 1742 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1657 "built/tmp/dcParser.yxx.c" break; - case 27: -#line 283 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 27: /* keyword_decl_list: keyword_decl_list KEYWORD */ +#line 283 "direct/src/dcparser/dcParser.yxx" +{ // This keyword has already been defined. But since we are now // explicitly defining it, clear its bitmask, so that we will have a // new hash code--doing this will allow us to phase out the // historical hash code support later. ((DCKeyword *)(yyvsp[0].u.keyword))->clear_historical_flag(); } -#line 1754 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1669 "built/tmp/dcParser.yxx.c" break; - case 30: -#line 299 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 30: /* @2: %empty */ +#line 299 "direct/src/dcparser/dcParser.yxx" +{ + (yyval.u.dclass) = current_class; current_class = new DCClass(dc_file, (yyvsp[0].str), false, false); } -#line 1762 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1678 "built/tmp/dcParser.yxx.c" break; - case 31: -#line 303 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 31: /* dclass: KW_DCLASS optional_name @2 dclass_derivation '{' dclass_fields '}' */ +#line 304 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.dclass) = current_class; current_class = (yyvsp[-4].u.dclass); } -#line 1771 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1687 "built/tmp/dcParser.yxx.c" break; - case 32: -#line 311 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 32: /* dclass_name: IDENTIFIER */ +#line 312 "direct/src/dcparser/dcParser.yxx" +{ if (dc_file == nullptr) { yyerror("No DCFile available, so no class names are predefined."); (yyval.u.dclass) = nullptr; @@ -1791,22 +1707,22 @@ yyreduce: (yyval.u.dclass) = dclass; } } -#line 1795 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1711 "built/tmp/dcParser.yxx.c" break; - case 35: -#line 339 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 35: /* dclass_base_list: dclass_name */ +#line 340 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.dclass) != nullptr) { current_class->add_parent((yyvsp[0].u.dclass)); } } -#line 1805 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1721 "built/tmp/dcParser.yxx.c" break; - case 36: -#line 345 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 36: /* dclass_base_list: dclass_base_list ',' dclass_name */ +#line 346 "direct/src/dcparser/dcParser.yxx" +{ if (!dc_multiple_inheritance) { yyerror("Multiple inheritance is not supported without \"dc-multiple-inheritance 1\" in your Config.prc file."); @@ -1816,12 +1732,12 @@ yyreduce: } } } -#line 1820 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1736 "built/tmp/dcParser.yxx.c" break; - case 39: -#line 361 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 39: /* dclass_fields: dclass_fields dclass_field ';' */ +#line 362 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].u.field) == nullptr) { // Pass this error up. } else if (!current_class->add_field((yyvsp[-1].u.field))) { @@ -1830,12 +1746,12 @@ yyreduce: yyerror("A non-network field cannot be stored on a dclass"); } } -#line 1834 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1750 "built/tmp/dcParser.yxx.c" break; - case 40: -#line 374 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 40: /* dclass_field: atomic_field keyword_list */ +#line 375 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].u.field) != nullptr) { if ((yyvsp[-1].u.field)->get_name().empty()) { yyerror("Field name required."); @@ -1844,52 +1760,53 @@ yyreduce: } (yyval.u.field) = (yyvsp[-1].u.field); } -#line 1848 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1764 "built/tmp/dcParser.yxx.c" break; - case 42: -#line 385 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 42: /* dclass_field: unnamed_parameter_with_default keyword_list */ +#line 386 "direct/src/dcparser/dcParser.yxx" +{ yyerror("Unnamed parameters are not allowed on a dclass"); if ((yyvsp[-1].u.parameter) != nullptr) { (yyvsp[-1].u.parameter)->copy_keywords(current_keyword_list); } (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 1860 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1776 "built/tmp/dcParser.yxx.c" break; - case 43: -#line 393 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 43: /* dclass_field: named_parameter_with_default keyword_list */ +#line 394 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].u.parameter) != nullptr) { (yyvsp[-1].u.parameter)->copy_keywords(current_keyword_list); } (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 1871 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1787 "built/tmp/dcParser.yxx.c" break; - case 44: -#line 403 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 44: /* @3: %empty */ +#line 404 "direct/src/dcparser/dcParser.yxx" +{ + (yyval.u.dclass) = current_class; current_class = new DCClass(dc_file, (yyvsp[0].str), true, false); } -#line 1879 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1796 "built/tmp/dcParser.yxx.c" break; - case 45: -#line 407 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 45: /* struct: KW_STRUCT optional_name @3 struct_derivation '{' struct_fields '}' */ +#line 409 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.dclass) = current_class; current_class = (yyvsp[-4].u.dclass); } -#line 1888 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1805 "built/tmp/dcParser.yxx.c" break; - case 46: -#line 415 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 46: /* struct_name: IDENTIFIER */ +#line 417 "direct/src/dcparser/dcParser.yxx" +{ if (dc_file == nullptr) { yyerror("No DCFile available, so no struct names are predefined."); (yyval.u.dclass) = nullptr; @@ -1908,71 +1825,72 @@ yyreduce: (yyval.u.dclass) = dstruct; } } -#line 1912 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1829 "built/tmp/dcParser.yxx.c" break; - case 49: -#line 443 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 49: /* struct_base_list: struct_name */ +#line 445 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.dclass) != nullptr) { current_class->add_parent((yyvsp[0].u.dclass)); } } -#line 1922 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1839 "built/tmp/dcParser.yxx.c" break; - case 50: -#line 449 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 50: /* struct_base_list: struct_base_list ',' struct_name */ +#line 451 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.dclass) != nullptr) { current_class->add_parent((yyvsp[0].u.dclass)); } } -#line 1932 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1849 "built/tmp/dcParser.yxx.c" break; - case 53: -#line 460 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 53: /* struct_fields: struct_fields struct_field ';' */ +#line 462 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].u.field) == nullptr) { // Pass this error up. } else if (!current_class->add_field((yyvsp[-1].u.field))) { yyerror("Duplicate field name: " + (yyvsp[-1].u.field)->get_name()); } } -#line 1944 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1861 "built/tmp/dcParser.yxx.c" break; - case 54: -#line 471 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 54: /* struct_field: atomic_field no_keyword_list */ +#line 473 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].u.field)->get_name().empty()) { yyerror("Field name required."); } (yyval.u.field) = (yyvsp[-1].u.field); } -#line 1955 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1872 "built/tmp/dcParser.yxx.c" break; - case 56: -#line 479 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 56: /* struct_field: unnamed_parameter_with_default no_keyword_list */ +#line 481 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 1963 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1880 "built/tmp/dcParser.yxx.c" break; - case 57: -#line 483 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 57: /* struct_field: named_parameter_with_default no_keyword_list */ +#line 485 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 1971 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1888 "built/tmp/dcParser.yxx.c" break; - case 58: -#line 490 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 58: /* @4: %empty */ +#line 492 "direct/src/dcparser/dcParser.yxx" +{ + (yyval.u.atomic) = current_atomic; if (current_class == nullptr) { yyerror("Cannot define a method outside of a struct or class."); DCClass *temp_class = new DCClass(dc_file, "temp", false, false); // memory leak. @@ -1981,59 +1899,59 @@ yyreduce: current_atomic = new DCAtomicField((yyvsp[-1].str), current_class, false); } } -#line 1985 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1903 "built/tmp/dcParser.yxx.c" break; - case 59: -#line 500 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 59: /* atomic_field: optional_name '(' @4 parameter_list ')' */ +#line 503 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = current_atomic; current_atomic = (yyvsp[-2].u.atomic); } -#line 1994 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1912 "built/tmp/dcParser.yxx.c" break; - case 64: -#line 518 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 64: /* atomic_element: parameter_with_default */ +#line 521 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.parameter) != nullptr) { current_atomic->add_element((yyvsp[0].u.parameter)); } } -#line 2004 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1922 "built/tmp/dcParser.yxx.c" break; - case 65: -#line 527 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 65: /* $@5: %empty */ +#line 530 "direct/src/dcparser/dcParser.yxx" +{ current_parameter = (yyvsp[0].u.parameter); } -#line 2012 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1930 "built/tmp/dcParser.yxx.c" break; - case 66: -#line 531 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 66: /* named_parameter: type_definition $@5 parameter_definition */ +#line 534 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.parameter) = (yyvsp[0].u.parameter); } -#line 2020 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1938 "built/tmp/dcParser.yxx.c" break; - case 69: -#line 543 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 69: /* $@6: %empty */ +#line 546 "direct/src/dcparser/dcParser.yxx" +{ current_packer = &default_packer; current_packer->clear_data(); if ((yyvsp[-1].u.parameter) != nullptr) { current_packer->begin_pack((yyvsp[-1].u.parameter)); } } -#line 2032 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1950 "built/tmp/dcParser.yxx.c" break; - case 70: -#line 551 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 70: /* named_parameter_with_default: named_parameter '=' $@6 parameter_value */ +#line 554 "direct/src/dcparser/dcParser.yxx" +{ bool is_valid = false; if ((yyvsp[-3].u.parameter) != nullptr) { is_valid = (yyvsp[-3].u.parameter)->is_valid(); @@ -2050,24 +1968,24 @@ yyreduce: // just ignore the default value in this case. } } -#line 2054 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1972 "built/tmp/dcParser.yxx.c" break; - case 72: -#line 573 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 72: /* $@7: %empty */ +#line 576 "direct/src/dcparser/dcParser.yxx" +{ current_packer = &default_packer; current_packer->clear_data(); if ((yyvsp[-1].u.parameter) != nullptr) { current_packer->begin_pack((yyvsp[-1].u.parameter)); } } -#line 2066 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 1984 "built/tmp/dcParser.yxx.c" break; - case 73: -#line 581 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 73: /* unnamed_parameter_with_default: unnamed_parameter '=' $@7 parameter_value */ +#line 584 "direct/src/dcparser/dcParser.yxx" +{ bool is_valid = false; if ((yyvsp[-3].u.parameter) != nullptr) { is_valid = (yyvsp[-3].u.parameter)->is_valid(); @@ -2084,60 +2002,60 @@ yyreduce: // just ignore the default value in this case. } } -#line 2088 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2006 "built/tmp/dcParser.yxx.c" break; - case 78: -#line 612 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 78: /* parameter_or_atomic: parameter */ +#line 615 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[0].u.parameter); } -#line 2096 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2014 "built/tmp/dcParser.yxx.c" break; - case 79: -#line 616 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 79: /* parameter_or_atomic: atomic_field */ +#line 619 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[0].u.field); } -#line 2104 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2022 "built/tmp/dcParser.yxx.c" break; - case 80: -#line 623 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 80: /* parameter_description: atomic_field no_keyword_list */ +#line 626 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[-1].u.field); } -#line 2112 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2030 "built/tmp/dcParser.yxx.c" break; - case 81: -#line 627 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 81: /* parameter_description: unnamed_parameter_with_default no_keyword_list */ +#line 630 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 2120 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2038 "built/tmp/dcParser.yxx.c" break; - case 82: -#line 631 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 82: /* parameter_description: named_parameter_with_default no_keyword_list */ +#line 634 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[-1].u.parameter); } -#line 2128 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2046 "built/tmp/dcParser.yxx.c" break; - case 83: -#line 638 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 83: /* simple_type_name: type_token */ +#line 641 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.parameter) = new DCSimpleParameter((yyvsp[0].u.subatomic)); } -#line 2136 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2054 "built/tmp/dcParser.yxx.c" break; - case 84: -#line 642 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 84: /* simple_type_name: simple_type_name '(' double_range ')' */ +#line 645 "direct/src/dcparser/dcParser.yxx" +{ DCSimpleParameter *simple_param = (yyvsp[-3].u.parameter)->as_simple_parameter(); nassertr(simple_param != nullptr, 0); if (!simple_param->set_range(double_range)) { @@ -2145,12 +2063,12 @@ yyreduce: } (yyval.u.parameter) = simple_param; } -#line 2149 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2067 "built/tmp/dcParser.yxx.c" break; - case 85: -#line 651 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 85: /* simple_type_name: simple_type_name '/' small_unsigned_integer */ +#line 654 "direct/src/dcparser/dcParser.yxx" +{ DCSimpleParameter *simple_param = (yyvsp[-2].u.parameter)->as_simple_parameter(); nassertr(simple_param != nullptr, 0); if (!simple_param->is_numeric_type()) { @@ -2165,12 +2083,12 @@ yyreduce: } (yyval.u.parameter) = simple_param; } -#line 2169 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2087 "built/tmp/dcParser.yxx.c" break; - case 86: -#line 667 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 86: /* simple_type_name: simple_type_name '%' number */ +#line 670 "direct/src/dcparser/dcParser.yxx" +{ DCSimpleParameter *simple_param = (yyvsp[-2].u.parameter)->as_simple_parameter(); nassertr(simple_param != nullptr, 0); if (!simple_param->is_numeric_type()) { @@ -2181,12 +2099,12 @@ yyreduce: } (yyval.u.parameter) = simple_param; } -#line 2185 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2103 "built/tmp/dcParser.yxx.c" break; - case 88: -#line 683 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 88: /* type_name: IDENTIFIER */ +#line 686 "direct/src/dcparser/dcParser.yxx" +{ if (dc_file == nullptr) { yyerror("Invalid type."); (yyval.u.parameter) = nullptr; @@ -2217,12 +2135,12 @@ yyreduce: (yyval.u.parameter) = dtypedef->make_new_parameter(); } } -#line 2221 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2139 "built/tmp/dcParser.yxx.c" break; - case 89: -#line 715 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 89: /* type_name: struct */ +#line 718 "direct/src/dcparser/dcParser.yxx" +{ // This is an inline struct definition. if ((yyvsp[0].u.dclass) == nullptr) { (yyval.u.parameter) = nullptr; @@ -2237,12 +2155,12 @@ yyreduce: (yyval.u.parameter) = new DCClassParameter((yyvsp[0].u.dclass)); } } -#line 2241 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2159 "built/tmp/dcParser.yxx.c" break; - case 90: -#line 731 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 90: /* type_name: switch */ +#line 734 "direct/src/dcparser/dcParser.yxx" +{ // This is an inline switch definition. if ((yyvsp[0].u.dswitch) == nullptr) { (yyval.u.parameter) = nullptr; @@ -2257,42 +2175,42 @@ yyreduce: (yyval.u.parameter) = new DCSwitchParameter((yyvsp[0].u.dswitch)); } } -#line 2261 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2179 "built/tmp/dcParser.yxx.c" break; - case 91: -#line 750 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 91: /* double_range: empty */ +#line 753 "direct/src/dcparser/dcParser.yxx" +{ double_range.clear(); } -#line 2269 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2187 "built/tmp/dcParser.yxx.c" break; - case 92: -#line 754 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 92: /* double_range: char_or_number */ +#line 757 "direct/src/dcparser/dcParser.yxx" +{ double_range.clear(); if (!double_range.add_range((yyvsp[0].u.real), (yyvsp[0].u.real))) { yyerror("Overlapping range"); } } -#line 2280 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2198 "built/tmp/dcParser.yxx.c" break; - case 93: -#line 761 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 93: /* double_range: char_or_number '-' char_or_number */ +#line 764 "direct/src/dcparser/dcParser.yxx" +{ double_range.clear(); if (!double_range.add_range((yyvsp[-2].u.real), (yyvsp[0].u.real))) { yyerror("Overlapping range"); } } -#line 2291 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2209 "built/tmp/dcParser.yxx.c" break; - case 94: -#line 768 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 94: /* double_range: char_or_number number */ +#line 771 "direct/src/dcparser/dcParser.yxx" +{ double_range.clear(); if ((yyvsp[0].u.real) >= 0) { yyerror("Syntax error"); @@ -2300,136 +2218,136 @@ yyreduce: yyerror("Overlapping range"); } } -#line 2304 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2222 "built/tmp/dcParser.yxx.c" break; - case 95: -#line 777 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 95: /* double_range: double_range ',' char_or_number */ +#line 780 "direct/src/dcparser/dcParser.yxx" +{ if (!double_range.add_range((yyvsp[0].u.real), (yyvsp[0].u.real))) { yyerror("Overlapping range"); } } -#line 2314 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2232 "built/tmp/dcParser.yxx.c" break; - case 96: -#line 783 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 96: /* double_range: double_range ',' char_or_number '-' char_or_number */ +#line 786 "direct/src/dcparser/dcParser.yxx" +{ if (!double_range.add_range((yyvsp[-2].u.real), (yyvsp[0].u.real))) { yyerror("Overlapping range"); } } -#line 2324 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2242 "built/tmp/dcParser.yxx.c" break; - case 97: -#line 789 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 97: /* double_range: double_range ',' char_or_number number */ +#line 792 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.real) >= 0) { yyerror("Syntax error"); } else if (!double_range.add_range((yyvsp[-1].u.real), -(yyvsp[0].u.real))) { yyerror("Overlapping range"); } } -#line 2336 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2254 "built/tmp/dcParser.yxx.c" break; - case 98: -#line 800 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 98: /* uint_range: empty */ +#line 803 "direct/src/dcparser/dcParser.yxx" +{ uint_range.clear(); } -#line 2344 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2262 "built/tmp/dcParser.yxx.c" break; - case 99: -#line 804 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 99: /* uint_range: char_or_uint */ +#line 807 "direct/src/dcparser/dcParser.yxx" +{ uint_range.clear(); if (!uint_range.add_range((yyvsp[0].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2355 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2273 "built/tmp/dcParser.yxx.c" break; - case 100: -#line 811 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 100: /* uint_range: char_or_uint '-' char_or_uint */ +#line 814 "direct/src/dcparser/dcParser.yxx" +{ uint_range.clear(); if (!uint_range.add_range((yyvsp[-2].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2366 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2284 "built/tmp/dcParser.yxx.c" break; - case 101: -#line 818 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 101: /* uint_range: char_or_uint small_negative_integer */ +#line 821 "direct/src/dcparser/dcParser.yxx" +{ uint_range.clear(); if (!uint_range.add_range((yyvsp[-1].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2377 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2295 "built/tmp/dcParser.yxx.c" break; - case 102: -#line 825 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 102: /* uint_range: uint_range ',' char_or_uint */ +#line 828 "direct/src/dcparser/dcParser.yxx" +{ if (!uint_range.add_range((yyvsp[0].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2387 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2305 "built/tmp/dcParser.yxx.c" break; - case 103: -#line 831 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 103: /* uint_range: uint_range ',' char_or_uint '-' char_or_uint */ +#line 834 "direct/src/dcparser/dcParser.yxx" +{ if (!uint_range.add_range((yyvsp[-2].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2397 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2315 "built/tmp/dcParser.yxx.c" break; - case 104: -#line 837 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 104: /* uint_range: uint_range ',' char_or_uint small_negative_integer */ +#line 840 "direct/src/dcparser/dcParser.yxx" +{ if (!uint_range.add_range((yyvsp[-1].u.s_uint), (yyvsp[0].u.s_uint))) { yyerror("Overlapping range"); } } -#line 2407 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2325 "built/tmp/dcParser.yxx.c" break; - case 106: -#line 847 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 106: /* type_definition: type_definition '[' uint_range ']' */ +#line 850 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-3].u.parameter) == nullptr) { (yyval.u.parameter) = nullptr; } else { (yyval.u.parameter) = (yyvsp[-3].u.parameter)->append_array_specification(uint_range); } } -#line 2419 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2337 "built/tmp/dcParser.yxx.c" break; - case 107: -#line 858 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 107: /* parameter_definition: IDENTIFIER */ +#line 861 "direct/src/dcparser/dcParser.yxx" +{ current_parameter->set_name((yyvsp[0].str)); (yyval.u.parameter) = current_parameter; } -#line 2428 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2346 "built/tmp/dcParser.yxx.c" break; - case 108: -#line 863 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 108: /* parameter_definition: parameter_definition '/' small_unsigned_integer */ +#line 866 "direct/src/dcparser/dcParser.yxx" +{ DCSimpleParameter *simple_param = (yyvsp[-2].u.parameter)->as_simple_parameter(); if (simple_param == nullptr || simple_param->get_typedef() != nullptr) { yyerror("A divisor is only allowed on a primitive type."); @@ -2443,12 +2361,12 @@ yyreduce: } } } -#line 2447 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2365 "built/tmp/dcParser.yxx.c" break; - case 109: -#line 878 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 109: /* parameter_definition: parameter_definition '%' number */ +#line 881 "direct/src/dcparser/dcParser.yxx" +{ DCSimpleParameter *simple_param = (yyvsp[-2].u.parameter)->as_simple_parameter(); if (simple_param == nullptr || simple_param->get_typedef() != nullptr) { yyerror("A modulus is only allowed on a primitive type."); @@ -2462,20 +2380,20 @@ yyreduce: } } } -#line 2466 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2384 "built/tmp/dcParser.yxx.c" break; - case 110: -#line 893 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 110: /* parameter_definition: parameter_definition '[' uint_range ']' */ +#line 896 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.parameter) = (yyvsp[-3].u.parameter)->append_array_specification(uint_range); } -#line 2474 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2392 "built/tmp/dcParser.yxx.c" break; - case 111: -#line 900 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 111: /* char_or_uint: STRING */ +#line 903 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].str).length() != 1) { yyerror("Single character required."); (yyval.u.s_uint) = 0; @@ -2483,24 +2401,24 @@ yyreduce: (yyval.u.s_uint) = (unsigned char)(yyvsp[0].str)[0]; } } -#line 2487 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2405 "built/tmp/dcParser.yxx.c" break; - case 113: -#line 913 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 113: /* small_unsigned_integer: UNSIGNED_INTEGER */ +#line 916 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.s_uint) = (unsigned int)(yyvsp[0].u.uint64); if ((yyval.u.s_uint) != (yyvsp[0].u.uint64)) { yyerror("Number out of range."); (yyval.u.s_uint) = 1; } } -#line 2499 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2417 "built/tmp/dcParser.yxx.c" break; - case 114: -#line 924 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 114: /* small_negative_integer: SIGNED_INTEGER */ +#line 927 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.s_uint) = (unsigned int)-(yyvsp[0].u.int64); if ((yyvsp[0].u.int64) >= 0) { yyerror("Syntax error."); @@ -2510,28 +2428,28 @@ yyreduce: (yyval.u.s_uint) = 1; } } -#line 2514 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2432 "built/tmp/dcParser.yxx.c" break; - case 117: -#line 946 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 117: /* number: unsigned_integer */ +#line 949 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.real) = (double)(yyvsp[0].u.uint64); } -#line 2522 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2440 "built/tmp/dcParser.yxx.c" break; - case 118: -#line 950 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 118: /* number: signed_integer */ +#line 953 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.real) = (double)(yyvsp[0].u.int64); } -#line 2530 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2448 "built/tmp/dcParser.yxx.c" break; - case 120: -#line 958 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 120: /* char_or_number: STRING */ +#line 961 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].str).length() != 1) { yyerror("Single character required."); (yyval.u.real) = 0; @@ -2539,19 +2457,19 @@ yyreduce: (yyval.u.real) = (double)(unsigned char)(yyvsp[0].str)[0]; } } -#line 2543 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2461 "built/tmp/dcParser.yxx.c" break; - case 122: -#line 972 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 122: /* parameter_value: parameter_actual_value */ +#line 975 "direct/src/dcparser/dcParser.yxx" +{ } -#line 2550 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2468 "built/tmp/dcParser.yxx.c" break; - case 123: -#line 975 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 123: /* $@8: %empty */ +#line 978 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[-1].str) != current_packer->get_current_field_name()) { ostringstream strm; strm << "Got '" << (yyvsp[-1].str) << "', expected '" @@ -2559,349 +2477,349 @@ yyreduce: yyerror(strm.str()); } } -#line 2563 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2481 "built/tmp/dcParser.yxx.c" break; - case 124: -#line 984 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 124: /* parameter_value: IDENTIFIER '=' $@8 parameter_actual_value */ +#line 987 "direct/src/dcparser/dcParser.yxx" +{ } -#line 2570 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2488 "built/tmp/dcParser.yxx.c" break; - case 125: -#line 990 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 125: /* parameter_actual_value: signed_integer */ +#line 993 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pack_int64((yyvsp[0].u.int64)); } -#line 2578 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2496 "built/tmp/dcParser.yxx.c" break; - case 126: -#line 994 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 126: /* parameter_actual_value: unsigned_integer */ +#line 997 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pack_uint64((yyvsp[0].u.uint64)); } -#line 2586 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2504 "built/tmp/dcParser.yxx.c" break; - case 127: -#line 998 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 127: /* parameter_actual_value: REAL */ +#line 1001 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pack_double((yyvsp[0].u.real)); } -#line 2594 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2512 "built/tmp/dcParser.yxx.c" break; - case 128: -#line 1002 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 128: /* parameter_actual_value: STRING */ +#line 1005 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pack_string((yyvsp[0].str)); } -#line 2602 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2520 "built/tmp/dcParser.yxx.c" break; - case 129: -#line 1006 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 129: /* parameter_actual_value: HEX_STRING */ +#line 1009 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pack_literal_value((yyvsp[0].bytes)); } -#line 2610 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2528 "built/tmp/dcParser.yxx.c" break; - case 130: -#line 1010 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 130: /* $@9: %empty */ +#line 1013 "direct/src/dcparser/dcParser.yxx" +{ current_packer->push(); } -#line 2618 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2536 "built/tmp/dcParser.yxx.c" break; - case 131: -#line 1014 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 131: /* parameter_actual_value: '{' $@9 array '}' */ +#line 1017 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pop(); } -#line 2626 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2544 "built/tmp/dcParser.yxx.c" break; - case 132: -#line 1018 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 132: /* $@10: %empty */ +#line 1021 "direct/src/dcparser/dcParser.yxx" +{ current_packer->push(); } -#line 2634 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2552 "built/tmp/dcParser.yxx.c" break; - case 133: -#line 1022 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 133: /* parameter_actual_value: '[' $@10 array ']' */ +#line 1025 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pop(); } -#line 2642 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2560 "built/tmp/dcParser.yxx.c" break; - case 134: -#line 1026 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 134: /* $@11: %empty */ +#line 1029 "direct/src/dcparser/dcParser.yxx" +{ current_packer->push(); } -#line 2650 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2568 "built/tmp/dcParser.yxx.c" break; - case 135: -#line 1030 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 135: /* parameter_actual_value: '(' $@11 array ')' */ +#line 1033 "direct/src/dcparser/dcParser.yxx" +{ current_packer->pop(); } -#line 2658 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2576 "built/tmp/dcParser.yxx.c" break; - case 136: -#line 1034 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 136: /* parameter_actual_value: signed_integer '*' small_unsigned_integer */ +#line 1037 "direct/src/dcparser/dcParser.yxx" +{ for (unsigned int i = 0; i < (yyvsp[0].u.s_uint); i++) { current_packer->pack_int64((yyvsp[-2].u.int64)); } } -#line 2668 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2586 "built/tmp/dcParser.yxx.c" break; - case 137: -#line 1040 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 137: /* parameter_actual_value: unsigned_integer '*' small_unsigned_integer */ +#line 1043 "direct/src/dcparser/dcParser.yxx" +{ for (unsigned int i = 0; i < (yyvsp[0].u.s_uint); i++) { current_packer->pack_uint64((yyvsp[-2].u.uint64)); } } -#line 2678 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2596 "built/tmp/dcParser.yxx.c" break; - case 138: -#line 1046 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 138: /* parameter_actual_value: REAL '*' small_unsigned_integer */ +#line 1049 "direct/src/dcparser/dcParser.yxx" +{ for (unsigned int i = 0; i < (yyvsp[0].u.s_uint); i++) { current_packer->pack_double((yyvsp[-2].u.real)); } } -#line 2688 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2606 "built/tmp/dcParser.yxx.c" break; - case 139: -#line 1052 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 139: /* parameter_actual_value: HEX_STRING '*' small_unsigned_integer */ +#line 1055 "direct/src/dcparser/dcParser.yxx" +{ for (unsigned int i = 0; i < (yyvsp[0].u.s_uint); i++) { current_packer->pack_literal_value((yyvsp[-2].bytes)); } } -#line 2698 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2616 "built/tmp/dcParser.yxx.c" break; - case 146: -#line 1076 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 146: /* type_token: KW_INT8 */ +#line 1079 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int8; } -#line 2706 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2624 "built/tmp/dcParser.yxx.c" break; - case 147: -#line 1080 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 147: /* type_token: KW_INT16 */ +#line 1083 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int16; } -#line 2714 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2632 "built/tmp/dcParser.yxx.c" break; - case 148: -#line 1084 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 148: /* type_token: KW_INT32 */ +#line 1087 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int32; } -#line 2722 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2640 "built/tmp/dcParser.yxx.c" break; - case 149: -#line 1088 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 149: /* type_token: KW_INT64 */ +#line 1091 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int64; } -#line 2730 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2648 "built/tmp/dcParser.yxx.c" break; - case 150: -#line 1092 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 150: /* type_token: KW_UINT8 */ +#line 1095 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint8; } -#line 2738 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2656 "built/tmp/dcParser.yxx.c" break; - case 151: -#line 1096 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 151: /* type_token: KW_UINT16 */ +#line 1099 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint16; } -#line 2746 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2664 "built/tmp/dcParser.yxx.c" break; - case 152: -#line 1100 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 152: /* type_token: KW_UINT32 */ +#line 1103 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint32; } -#line 2754 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2672 "built/tmp/dcParser.yxx.c" break; - case 153: -#line 1104 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 153: /* type_token: KW_UINT64 */ +#line 1107 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint64; } -#line 2762 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2680 "built/tmp/dcParser.yxx.c" break; - case 154: -#line 1108 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 154: /* type_token: KW_FLOAT64 */ +#line 1111 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_float64; } -#line 2770 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2688 "built/tmp/dcParser.yxx.c" break; - case 155: -#line 1112 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 155: /* type_token: KW_STRING */ +#line 1115 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_string; } -#line 2778 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2696 "built/tmp/dcParser.yxx.c" break; - case 156: -#line 1116 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 156: /* type_token: KW_BLOB */ +#line 1119 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_blob; } -#line 2786 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2704 "built/tmp/dcParser.yxx.c" break; - case 157: -#line 1120 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 157: /* type_token: KW_BLOB32 */ +#line 1123 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_blob32; } -#line 2794 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2712 "built/tmp/dcParser.yxx.c" break; - case 158: -#line 1124 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 158: /* type_token: KW_INT8ARRAY */ +#line 1127 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int8array; } -#line 2802 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2720 "built/tmp/dcParser.yxx.c" break; - case 159: -#line 1128 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 159: /* type_token: KW_INT16ARRAY */ +#line 1131 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int16array; } -#line 2810 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2728 "built/tmp/dcParser.yxx.c" break; - case 160: -#line 1132 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 160: /* type_token: KW_INT32ARRAY */ +#line 1135 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_int32array; } -#line 2818 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2736 "built/tmp/dcParser.yxx.c" break; - case 161: -#line 1136 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 161: /* type_token: KW_UINT8ARRAY */ +#line 1139 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint8array; } -#line 2826 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2744 "built/tmp/dcParser.yxx.c" break; - case 162: -#line 1140 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 162: /* type_token: KW_UINT16ARRAY */ +#line 1143 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint16array; } -#line 2834 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2752 "built/tmp/dcParser.yxx.c" break; - case 163: -#line 1144 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 163: /* type_token: KW_UINT32ARRAY */ +#line 1147 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint32array; } -#line 2842 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2760 "built/tmp/dcParser.yxx.c" break; - case 164: -#line 1148 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 164: /* type_token: KW_UINT32UINT8ARRAY */ +#line 1151 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_uint32uint8array; } -#line 2850 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2768 "built/tmp/dcParser.yxx.c" break; - case 165: -#line 1152 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 165: /* type_token: KW_CHAR */ +#line 1155 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.subatomic) = ST_char; } -#line 2858 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2776 "built/tmp/dcParser.yxx.c" break; - case 166: -#line 1159 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 166: /* keyword_list: empty */ +#line 1162 "direct/src/dcparser/dcParser.yxx" +{ current_keyword_list.clear_keywords(); } -#line 2866 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2784 "built/tmp/dcParser.yxx.c" break; - case 167: -#line 1163 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 167: /* keyword_list: keyword_list KEYWORD */ +#line 1166 "direct/src/dcparser/dcParser.yxx" +{ current_keyword_list.add_keyword((yyvsp[0].u.keyword)); } -#line 2874 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2792 "built/tmp/dcParser.yxx.c" break; - case 168: -#line 1170 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 168: /* no_keyword_list: keyword_list */ +#line 1173 "direct/src/dcparser/dcParser.yxx" +{ if (current_keyword_list.get_num_keywords() != 0) { yyerror("Communication keywords are not allowed here."); } } -#line 2884 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2802 "built/tmp/dcParser.yxx.c" break; - case 169: -#line 1179 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 169: /* $@12: %empty */ +#line 1182 "direct/src/dcparser/dcParser.yxx" +{ current_molecular = new DCMolecularField((yyvsp[-1].str), current_class); } -#line 2892 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2810 "built/tmp/dcParser.yxx.c" break; - case 170: -#line 1183 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 170: /* molecular_field: IDENTIFIER ':' $@12 molecular_atom_list */ +#line 1186 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = current_molecular; } -#line 2900 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2818 "built/tmp/dcParser.yxx.c" break; - case 171: -#line 1190 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 171: /* atomic_name: IDENTIFIER */ +#line 1193 "direct/src/dcparser/dcParser.yxx" +{ DCField *field = current_class->get_field_by_name((yyvsp[0].str)); (yyval.u.atomic) = nullptr; if (field == nullptr) { @@ -2924,22 +2842,22 @@ yyreduce: } } } -#line 2928 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2846 "built/tmp/dcParser.yxx.c" break; - case 172: -#line 1217 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 172: /* molecular_atom_list: atomic_name */ +#line 1220 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.atomic) != nullptr) { current_molecular->add_atomic((yyvsp[0].u.atomic)); } } -#line 2938 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2856 "built/tmp/dcParser.yxx.c" break; - case 173: -#line 1223 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 173: /* molecular_atom_list: molecular_atom_list ',' atomic_name */ +#line 1226 "direct/src/dcparser/dcParser.yxx" +{ if ((yyvsp[0].u.atomic) != nullptr) { current_molecular->add_atomic((yyvsp[0].u.atomic)); if (!(yyvsp[0].u.atomic)->is_bogus_field() && !current_molecular->compare_keywords(*(yyvsp[0].u.atomic))) { @@ -2949,37 +2867,38 @@ yyreduce: } } } -#line 2953 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2871 "built/tmp/dcParser.yxx.c" break; - case 174: -#line 1237 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 174: /* optional_name: empty */ +#line 1240 "direct/src/dcparser/dcParser.yxx" +{ (yyval.str) = ""; } -#line 2961 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2879 "built/tmp/dcParser.yxx.c" break; - case 176: -#line 1245 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 176: /* @13: %empty */ +#line 1248 "direct/src/dcparser/dcParser.yxx" +{ + (yyval.u.dswitch) = current_switch; current_switch = new DCSwitch((yyvsp[-4].str), (yyvsp[-2].u.field)); } -#line 2969 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2888 "built/tmp/dcParser.yxx.c" break; - case 177: -#line 1249 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 177: /* switch: KW_SWITCH optional_name '(' parameter_or_atomic ')' '{' @13 switch_fields '}' */ +#line 1253 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.dswitch) = current_switch; - current_switch = (DCSwitch *)(yyvsp[-2].u.parameter); + current_switch = (yyvsp[-2].u.dswitch); } -#line 2978 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2897 "built/tmp/dcParser.yxx.c" break; - case 183: -#line 1263 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 183: /* switch_fields: switch_fields switch_field ';' */ +#line 1267 "direct/src/dcparser/dcParser.yxx" +{ if (!current_switch->is_field_valid()) { yyerror("case declaration required before first element"); } else if ((yyvsp[-1].u.field) != nullptr) { @@ -2988,22 +2907,22 @@ yyreduce: } } } -#line 2992 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2911 "built/tmp/dcParser.yxx.c" break; - case 184: -#line 1276 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 184: /* $@14: %empty */ +#line 1280 "direct/src/dcparser/dcParser.yxx" +{ current_packer = &default_packer; current_packer->clear_data(); current_packer->begin_pack(current_switch->get_key_parameter()); } -#line 3002 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2921 "built/tmp/dcParser.yxx.c" break; - case 185: -#line 1282 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 185: /* switch_case: KW_CASE $@14 parameter_value ':' */ +#line 1286 "direct/src/dcparser/dcParser.yxx" +{ if (!current_packer->end_pack()) { yyerror("Invalid value for switch parameter"); current_switch->add_invalid_case(); @@ -3014,45 +2933,46 @@ yyreduce: } } } -#line 3018 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2937 "built/tmp/dcParser.yxx.c" break; - case 186: -#line 1297 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 186: /* switch_default: KW_DEFAULT ':' */ +#line 1301 "direct/src/dcparser/dcParser.yxx" +{ if (!current_switch->add_default()) { yyerror("Default case already defined"); } } -#line 3028 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2947 "built/tmp/dcParser.yxx.c" break; - case 187: -#line 1306 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 187: /* switch_break: KW_BREAK */ +#line 1310 "direct/src/dcparser/dcParser.yxx" +{ current_switch->add_break(); } -#line 3036 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2955 "built/tmp/dcParser.yxx.c" break; - case 188: -#line 1313 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 188: /* switch_field: unnamed_parameter_with_default */ +#line 1317 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[0].u.parameter); } -#line 3044 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2963 "built/tmp/dcParser.yxx.c" break; - case 189: -#line 1317 "direct/src/dcparser/dcParser.yxx" /* yacc.c:1651 */ - { + case 189: /* switch_field: named_parameter_with_default */ +#line 1321 "direct/src/dcparser/dcParser.yxx" +{ (yyval.u.field) = (yyvsp[0].u.parameter); } -#line 3052 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2971 "built/tmp/dcParser.yxx.c" break; -#line 3056 "built/tmp/dcParser.yxx.c" /* yacc.c:1651 */ +#line 2975 "built/tmp/dcParser.yxx.c" + default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3066,25 +2986,23 @@ yyreduce: case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ - YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); + YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; - YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; - if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTOKENS]; + { + const int yylhs = yyr1[yyn] - YYNTOKENS; + const int yyi = yypgoto[yylhs] + *yyssp; + yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp + ? yytable[yyi] + : yydefgoto[yylhs]); + } goto yynewstate; @@ -3095,50 +3013,14 @@ yyreduce: yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ - yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); - + yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; -#if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); -#else -# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ - yyssp, yytoken) - { - char const *yymsgp = YY_("syntax error"); - int yysyntax_error_status; - yysyntax_error_status = YYSYNTAX_ERROR; - if (yysyntax_error_status == 0) - yymsgp = yymsg; - else if (yysyntax_error_status == 1) - { - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); - if (!yymsg) - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - yysyntax_error_status = 2; - } - else - { - yysyntax_error_status = YYSYNTAX_ERROR; - yymsgp = yymsg; - } - } - yyerror (yymsgp); - if (yysyntax_error_status == 2) - goto yyexhaustedlab; - } -# undef YYSYNTAX_ERROR -#endif } - - if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an @@ -3167,12 +3049,11 @@ yyerrlab: | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: - - /* Pacify compilers like GCC when the user code never invokes - YYERROR and the label yyerrorlab therefore never appears in user - code. */ - if (/*CONSTCOND*/ 0) - goto yyerrorlab; + /* Pacify compilers when the user code never invokes YYERROR and the + label yyerrorlab therefore never appears in user code. */ + if (0) + YYERROR; + ++yynerrs; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ @@ -3189,13 +3070,14 @@ yyerrorlab: yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ + /* Pop stack until we find a state that shifts the error token. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + yyn += YYSYMBOL_YYerror; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror) { yyn = yytable[yyn]; if (0 < yyn) @@ -3209,7 +3091,7 @@ yyerrlab1: yydestruct ("Error: popping", - yystos[yystate], yyvsp); + YY_ACCESSING_SYMBOL (yystate), yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); @@ -3221,7 +3103,7 @@ yyerrlab1: /* Shift the error token. */ - YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); + YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp); yystate = yyn; goto yynewstate; @@ -3232,26 +3114,30 @@ yyerrlab1: `-------------------------------------*/ yyacceptlab: yyresult = 0; - goto yyreturn; + goto yyreturnlab; + /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; - goto yyreturn; + goto yyreturnlab; -#if !defined yyoverflow || YYERROR_VERBOSE -/*-------------------------------------------------. -| yyexhaustedlab -- memory exhaustion comes here. | -`-------------------------------------------------*/ + +/*-----------------------------------------------------------. +| yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here. | +`-----------------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; - /* Fall through. */ -#endif + goto yyreturnlab; -yyreturn: + +/*----------------------------------------------------------. +| yyreturnlab -- parsing is finished, clean up and return. | +`----------------------------------------------------------*/ +yyreturnlab: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at @@ -3267,16 +3153,14 @@ yyreturn: while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); + YY_ACCESSING_SYMBOL (+*yyssp), yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif -#if YYERROR_VERBOSE - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); -#endif + return yyresult; } + diff --git a/direct/src/dcparser/dcParser.h.prebuilt b/direct/src/dcparser/dcParser.h.prebuilt index 8880652bb0..b360dc3f19 100644 --- a/direct/src/dcparser/dcParser.h.prebuilt +++ b/direct/src/dcparser/dcParser.h.prebuilt @@ -1,8 +1,9 @@ -/* A Bison parser, made by GNU Bison 3.1. */ +/* A Bison parser, made by GNU Bison 3.8.2. */ /* Bison interface for Yacc-like parsers in C - Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc. + Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation, + Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -15,7 +16,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work @@ -30,6 +31,10 @@ This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual, + especially those whose name start with YY_ or yy_. They are + private implementation details that can be changed or removed. */ + #ifndef YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED # define YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED /* Debug traces. */ @@ -40,54 +45,63 @@ extern int dcyydebug; #endif -/* Token type. */ +/* Token kinds. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { - UNSIGNED_INTEGER = 258, - SIGNED_INTEGER = 259, - REAL = 260, - STRING = 261, - IDENTIFIER = 262, - HEX_STRING = 263, - KEYWORD = 264, - KW_DCLASS = 265, - KW_STRUCT = 266, - KW_FROM = 267, - KW_IMPORT = 268, - KW_TYPEDEF = 269, - KW_KEYWORD = 270, - KW_SWITCH = 271, - KW_CASE = 272, - KW_DEFAULT = 273, - KW_BREAK = 274, - KW_INT8 = 275, - KW_INT16 = 276, - KW_INT32 = 277, - KW_INT64 = 278, - KW_UINT8 = 279, - KW_UINT16 = 280, - KW_UINT32 = 281, - KW_UINT64 = 282, - KW_FLOAT64 = 283, - KW_STRING = 284, - KW_BLOB = 285, - KW_BLOB32 = 286, - KW_INT8ARRAY = 287, - KW_INT16ARRAY = 288, - KW_INT32ARRAY = 289, - KW_UINT8ARRAY = 290, - KW_UINT16ARRAY = 291, - KW_UINT32ARRAY = 292, - KW_UINT32UINT8ARRAY = 293, - KW_CHAR = 294, - START_DC = 295, - START_PARAMETER_VALUE = 296, - START_PARAMETER_DESCRIPTION = 297 + YYEMPTY = -2, + YYEOF = 0, /* "end of file" */ + YYerror = 256, /* error */ + YYUNDEF = 257, /* "invalid token" */ + UNSIGNED_INTEGER = 258, /* UNSIGNED_INTEGER */ + SIGNED_INTEGER = 259, /* SIGNED_INTEGER */ + REAL = 260, /* REAL */ + STRING = 261, /* STRING */ + IDENTIFIER = 262, /* IDENTIFIER */ + HEX_STRING = 263, /* HEX_STRING */ + KEYWORD = 264, /* KEYWORD */ + KW_DCLASS = 265, /* KW_DCLASS */ + KW_STRUCT = 266, /* KW_STRUCT */ + KW_FROM = 267, /* KW_FROM */ + KW_IMPORT = 268, /* KW_IMPORT */ + KW_TYPEDEF = 269, /* KW_TYPEDEF */ + KW_KEYWORD = 270, /* KW_KEYWORD */ + KW_SWITCH = 271, /* KW_SWITCH */ + KW_CASE = 272, /* KW_CASE */ + KW_DEFAULT = 273, /* KW_DEFAULT */ + KW_BREAK = 274, /* KW_BREAK */ + KW_INT8 = 275, /* KW_INT8 */ + KW_INT16 = 276, /* KW_INT16 */ + KW_INT32 = 277, /* KW_INT32 */ + KW_INT64 = 278, /* KW_INT64 */ + KW_UINT8 = 279, /* KW_UINT8 */ + KW_UINT16 = 280, /* KW_UINT16 */ + KW_UINT32 = 281, /* KW_UINT32 */ + KW_UINT64 = 282, /* KW_UINT64 */ + KW_FLOAT64 = 283, /* KW_FLOAT64 */ + KW_STRING = 284, /* KW_STRING */ + KW_BLOB = 285, /* KW_BLOB */ + KW_BLOB32 = 286, /* KW_BLOB32 */ + KW_INT8ARRAY = 287, /* KW_INT8ARRAY */ + KW_INT16ARRAY = 288, /* KW_INT16ARRAY */ + KW_INT32ARRAY = 289, /* KW_INT32ARRAY */ + KW_UINT8ARRAY = 290, /* KW_UINT8ARRAY */ + KW_UINT16ARRAY = 291, /* KW_UINT16ARRAY */ + KW_UINT32ARRAY = 292, /* KW_UINT32ARRAY */ + KW_UINT32UINT8ARRAY = 293, /* KW_UINT32UINT8ARRAY */ + KW_CHAR = 294, /* KW_CHAR */ + START_DC = 295, /* START_DC */ + START_PARAMETER_VALUE = 296, /* START_PARAMETER_VALUE */ + START_PARAMETER_DESCRIPTION = 297 /* START_PARAMETER_DESCRIPTION */ }; + typedef enum yytokentype yytoken_kind_t; #endif -/* Tokens. */ +/* Token kinds. */ +#define YYEMPTY -2 +#define YYEOF 0 +#define YYerror 256 +#define YYUNDEF 257 #define UNSIGNED_INTEGER 258 #define SIGNED_INTEGER 259 #define REAL 260 @@ -134,6 +148,8 @@ extern int dcyydebug; extern YYSTYPE dcyylval; + int dcyyparse (void); + #endif /* !YY_DCYY_BUILT_TMP_DCPARSER_YXX_H_INCLUDED */ diff --git a/direct/src/dcparser/dcParser.yxx b/direct/src/dcparser/dcParser.yxx index b283c3314b..9918ea99ba 100644 --- a/direct/src/dcparser/dcParser.yxx +++ b/direct/src/dcparser/dcParser.yxx @@ -297,6 +297,7 @@ dclass_or_struct: dclass: KW_DCLASS optional_name { + $$ = current_class; current_class = new DCClass(dc_file, $2, false, false); } dclass_derivation '{' dclass_fields '}' @@ -401,6 +402,7 @@ dclass_field: struct: KW_STRUCT optional_name { + $$ = current_class; current_class = new DCClass(dc_file, $2, true, false); } struct_derivation '{' struct_fields '}' @@ -488,6 +490,7 @@ struct_field: atomic_field: optional_name '(' { + $$ = current_atomic; if (current_class == nullptr) { yyerror("Cannot define a method outside of a struct or class."); DCClass *temp_class = new DCClass(dc_file, "temp", false, false); // memory leak. @@ -1243,12 +1246,13 @@ optional_name: switch: KW_SWITCH optional_name '(' parameter_or_atomic ')' '{' { + $$ = current_switch; current_switch = new DCSwitch($2, $4); } switch_fields '}' { $$ = current_switch; - current_switch = (DCSwitch *)$7; + current_switch = $7; } ;